롤 토토 : 문서 : 9.5 : 롤 토토 | |||
---|---|---|---|
와이즈 토토 PostgreSQL : 문서 : 9.5 : Extensibility | PostgreSQL : 문서 : 9.5 : 사설 토토 Indexes | 60 장. SP-Gist Indexes | 토토 결과 : 문서 : 9.5 : 예제 |
이 섹션은 사설 토토 사이트 세부 사항 및 사설 토토 사이트 자에게 유용한 기타 트릭을 다룹니다.SP-Gist알아볼 운영자 클래스.
개별 잎 튜플과 내부 튜플은 단일 인덱스 페이지 (기본적으로 8kb)에 맞아야합니다. 따라서 가변 길이의 데이터 유형의 인덱싱 값을 인덱싱 할 때, 긴 값은 Radix Trees와 같은 방법에 의해서만 지원 될 수 있으며, 여기에는 트리의 각 레벨에는 페이지에 맞을 정도로 짧은 접두사가 포함되며 최종 잎 수준에는 페이지에 맞을 정도로 짧은 접미사가 포함됩니다. 운영자 클래스가 설정해야LongValuesok이 일이 일어나도록 준비된 경우에만 true. 그렇지 않으면SP-GistCore는 색인 페이지에 너무 큰 값을 색인하라는 요청을 거부합니다.
마찬가지로, 내부 튜플이 인덱스 페이지에 맞지 않기에는 내부 튜플이 너무 커지지 않는 것이 운영자 클래스의 책임입니다. 이것은 하나의 내부 튜플에서 사용할 수있는 자식 사설 토토 사이트의 수와 접두사 값의 최대 크기를 제한합니다.
또 다른 한계는 내부 튜플의 사설 토토 사이트가 잎 튜플 세트를 가리키면 그 튜플이 모두 같은 색인 페이지에 있어야한다는 것입니다. (이것은 그러한 튜플을 묶는 링크의 탐색을 줄이고 공간을 절약하기위한 설계 결정입니다.) 잎 튜플 세트가 페이지에 비해 너무 커지면 분할이 수행되고 중간 내부 튜플이 삽입됩니다. 문제를 해결하기 위해 새로운 내부 튜플필수잎 값 세트를 하나 이상의 사설 토토 사이트 그룹으로 나눕니다. 운영자 클래스의 경우picksplit
함수는 그렇게하지 못합니다.SP-Gist핵심 조치에 대한 핵심 리조트섹션 60.4.3.
일부 트리 알고리즘은 각 내부 튜플에 대해 고정 된 사설 토토 사이트 세트를 사용합니다. 예를 들어, 쿼드 트리에는 항상 내부 튜플의 중심 지점 주위의 4 개의 사분면에 해당하는 정확히 4 개의 사설 토토 사이트가 있습니다. 이 경우 코드는 일반적으로 숫자별로 사설 토토 사이트와 함께 작동하며 명시적인 사설 토토 사이트 레이블이 필요하지 않습니다. 사설 토토 사이트 레이블을 억제하고 공간을 절약하려면picksplit
함수는 null을 반환 할 수 있습니다Nodelabels배열. 결과적으로Nodelabels후속 호출 중선택
andInner_consistent
. 원칙적으로 사설 토토 사이트 레이블은 일부 내부 튜플에 사용되어 같은 색인의 다른 튜플에 생략 할 수 있습니다.
표지되지 않은 사설 토토 사이트를 가진 내부 튜플로 작업 할 때는에 대한 오류입니다.선택
반환하려면SPGADDNODE, 사설 토토 사이트 세트는 그러한 경우에 고정되어야하기 때문에. 또한 표지되지 않은 사설 토토 사이트를 생성하는 조항은 없습니다.spgsplittuple행동, AN이 예상되므로 행동합니다.SPGADDNODE행동도 필요합니다.
SP-Gist코어는 운영자 클래스의 결과를 무시할 수 있습니다picksplit
기능을 할 때picksplit
제공된 잎 값을 최소한 두 노드 범주로 나누지 못합니다. 이런 일이 발생하면 새 내부 튜플은 각각 동일한 레이블 (있는 경우)을 갖는 여러 노드로 생성됩니다.picksplit
사용했던 하나의 사설 토토 사이트에 주었고 잎 값은 이러한 동등한 사설 토토 사이트 중에서 무작위로 나뉩니다. 그만큼Allthesame플래그는 내부 튜플에 설정되어선택
andInner_consistent
튜플에 다른 방법으로 기대할 수있는 사설 토토 사이트 세트가없는 함수.
처리 할 때Allthesame튜플, A선택
결과SPGMATCHNODE새 값이 동등한 사설 토토 사이트에 할당 될 수 있음을 의미하는 것으로 해석됩니다. 핵심 코드는 제공된 것을 무시합니다Noden값을 무작위로 사설 토토 사이트 중 하나로 내려갑니다 (나무의 균형을 유지하기 위해). 에 대한 오류입니다.선택
반환Spgaddnode, 그로 인해 사설 토토 사이트가 모두 동일하지 않기 때문입니다. 그만큼spgsplittuple삽입 할 값이 기존 사설 토토 사이트와 일치하지 않으면 동작을 사용해야합니다.
대처할 때Allthesame튜플,Inner_consistent
함수는 모두 동등하기 때문에 인덱스 검색을 계속하기위한 대상으로 노드 또는 전부를 반환해야합니다. 이것은 얼마나 많은지에 따라 특수 사례 코드를 요구할 수도 있고 필요하지 않을 수 있습니다.Inner_consistent
함수는 일반적으로 사설 토토 사이트의 의미에 대해 가정합니다.