이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

56.3. 롤 토토

이 섹션에서는 롤 토토 세부 사항 및 기타 트릭을 다룹니다 롤 토토 자에게 유용합니다.SP-Gist알아볼 운영자 클래스.

56.3.1. SP-Gist 한계

개별 잎 튜플과 내부 튜플은 단일에 맞아야합니다. 색인 페이지 (기본적으로 8KB). 따라서 인덱싱 값의 경우 가변 길이 데이터 유형, 긴 값은 나무의 각 레벨 페이지에 맞을 정도로 짧은 접두사가 포함되어 있습니다. 최종 잎 수준에는 접미사가 포함되어 있습니다. 페이지. 운영자 클래스가 설정해야LongValuesok준비된 경우에만 참으로 이런 일이 일어나도록 준비하십시오. 그렇지 않으면SP-GistCore는 색인 요청을 거부합니다 인덱스 페이지에 너무 큰 값.

마찬가지로, 그것은 내부의 운영자 클래스의 책임입니다 튜플은 색인 페이지에 맞지 않기에는 너무 커지지 않습니다. 이것은 제한됩니다 하나의 내부 튜플에서 사용할 수있는 자식 롤 토토의 수, 접두사 값의 최대 크기.

또 다른 한계는 내부 튜플의 롤 토토가 잎 튜플 세트, 그 튜플은 모두 같은 색인에 있어야합니다. 페이지. (이것은 추구를 줄이고 공간을 절약하기위한 설계 결정입니다. 그 링크에서 그러한 튜플을 묶는 링크에서.) 잎 세트 인 경우 튜플은 페이지를 위해 너무 커지고 분할이 수행되고 중간 내부 튜플이 삽입됩니다. 문제를 해결하기 위해 새로운 내부 튜플필수잎 값 세트를 하나 이상의 롤 토토 그룹으로 나눕니다. 만약 운영자 클래스picksplit함수 그렇게하지 못한다,SP-Gist코어 리조트에 설명 된 특별한 조치에 대한섹션 56.3.3.

56.3.2. 노드 레이블이없는 SP-Gist

일부 트리 알고리즘은 각 내부에 고정 된 롤 토토 세트를 사용합니다. 튜플; 예를 들어, 쿼드 트리에는 항상 정확히 4 개가 있습니다. 내부 튜플 주위의 4 개의 사분면에 해당하는 롤 토토 중심점. 이 경우 코드는 일반적으로 숫자 별 롤 토토 및 명시 적 롤 토토 레이블이 필요하지 않습니다. 에게 롤 토토 레이블을 억제하고 (그로 인해 공간을 절약),picksplit함수는 null을 반환 할 수 있습니다10394_10406배열. 이것은 할 것입니다 결과를 돌리기Nodelabels널 후속 전화 중선택andInner_consistent. 원칙적으로 롤 토토 라벨은 일부 내부 튜플에 사용될 수 있으며 다른 튜플에 생략 할 수 있습니다. 같은 색인에서.

표지되지 않은 롤 토토를 가진 내부 튜플로 작업 할 때 오류선택반환SPGADDNODE, 롤 토토 세트가 있기 때문에 그러한 경우에 고정되어야합니다. 또한 조항이 없습니다 표지되지 않은 롤 토토 생성spgsplittuple행동, AN이기 때문에SPGADDNODE행동이 필요합니다 잘.

56.3.3. "All-the-Same"내부 튜플

theSP-Gist코어가 무시할 수 있습니다 운영자 클래스의 결과picksplit​​기능을 할 때picksplit제공된 잎을 나누지 못합니다 값은 두 가지 이상의 노드 범주로 값입니다. 이런 일이 발생하면 새로운 내부 튜플은 각각이있는 여러 노드로 생성됩니다. 동일한 레이블 (있는 경우)picksplit사용한 하나의 롤 토토에 주었고 잎 값은 이 동등한 롤 토토 중에서 무작위. 그만큼Allthesame플래그는 내부 튜플에 설정되어 경고합니다 그만큼선택andInner_consistent튜플이하는 기능 다른 방법으로 기대할 수있는 롤 토토 세트가 없습니다.

대처할 때Allthesame튜플, 에이선택결과SPGMATCHNODE새로운 것을 의미하는 것으로 해석됩니다 값은 등가 롤 토토에 할당 될 수 있습니다. 핵심 코드 제공된 것을 무시할 것입니다Noden값 그리고 무작위로 롤 토토 중 하나로 내려갑니다 (나무를 유지하기 위해 균형 잡힌). 에 대한 오류입니다.선택반환SPGADDNODE롤 토토가 모두 동일하지는 않습니다. 그만큼spgsplittuple값이라면 조치를 사용해야합니다 삽입 된 기존 롤 토토와 일치하지 않습니다.

대처할 때Allthesame튜플, 그만큼Inner_consistent함수 노드를 계속 또는 전혀 반환하여 계속해서 대상으로 반환합니다. 색인 검색은 모두 동일하기 때문에. 이것은 5 월 또는 5 월입니다 얼마나 많은지에 따라 특수 사례 코드가 필요하지 않습니다Inner_consistent정상적으로 기능합니다 롤 토토의 의미를 가정합니다.