이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 62.3. 인덱스 메이저 토토 사이트버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

50.3. 인덱스 윈 토토

인덱스 윈 토토에서 인덱스 액세스 방법이 그것이 들었던 모든 튜플의 핵심을 역류시킵니다. 일치윈 토토 키. 액세스 메소드는not관련 실제로 인덱스의 상위 테이블에서 그 튜플을 가져 오면 그들이 윈 토토 시간을 통과하는지 여부를 결정하는 것도 아닙니다 자격 테스트 또는 기타 조건.

윈 토토 키는 a의 내부 표현입니다.여기서양식 조항index_key 운영자 Constant, 여기서 인덱스 키는 하나입니다 인덱스 및 연산자의 열은 해당 색인 열과 관련된 운영자 제품군. 색인 스캔에는 0 이상의 윈 토토 키가 있으며 암시 적으로 및 반환 된 튜플은 표시된 모든 것을 충족시킬 것으로 예상됩니다 정황.

운영자 제품군은 인덱스가임을 나타낼 수 있습니다.Lossy특정 연산자의 경우; 이것은 의미합니다 인덱스 윈 토토이 통과하는 모든 항목을 반환합니다. 키를 윈 토토하고 추가되지 않은 추가 항목. 핵심 시스템의 인덱스 윈 토토 기계는 해당 연산자를 다시 적용합니다 힙 튜플에 선택된. 지저분한 연산자의 경우 인덱스 윈 토토이 반환되어야합니다 다시 회전하지 않으므로 정확히 일치하는 항목 세트입니다.

그것은 모든 것을 전달하는 항목 만 올바르게 찾는다. 주어진 윈 토토 키. 또한 핵심 시스템은 단순히 모든 것을 나눠 줄 것입니다 그만큼여기서인덱스와 일치하는 조항 시맨틱 분석없이 열쇠와 운영자 패밀리 중복인지 모순되는지 여부를 결정하십시오. 로서 예, 주어진여기서 x 4 및 x 14여기서x는 B- 트리 색인입니다 열, B- 트리에 왼쪽Amrescan첫 번째를 깨닫기 위해 기능합니다 윈 토토 키는 중복되어 버릴 수 있습니다. 의 범위 전처리가 필요합니다Amrescan인덱스 액세스 방법은 윈 토토 키를 a로 줄여야합니다."정규화"양식.

일부 액세스 방법은 잘 정의 된 인덱스 항목을 반환합니다 주문, 다른 사람은 그렇지 않습니다. 항목이 정렬 된 순서로 반환되는 경우 액세스 방법이 설정되어야합니다PG_AM.amcanorder순서 스캔을 지원한다는 것을 나타냅니다. 그러한 모든 액세스 방법은 Btree 호환 전략 번호를 사용해야합니다 평등 및 질서 운영자.

theAmgetTuple함수는방향논쟁, 어느 쪽이든ForwardScandirection(정상적인 경우) 또는BackwardsCandirection. 첫 번째 경우 전화 후Amrescan지정BackwardsCandiprection일치하는 인덱스 항목은 정상적인 전면 방향으로amgettuple마지막 일치하는 튜플을 반환해야합니다 인덱스에서, 평소와 같이 첫 번째 것보다는. (이것은 광고하는 액세스 방법에 대해서만 발생합니다. 주문 스캔 지원.) 첫 번째 호출 후AmgetTuple스캔을 진행할 준비가되어 있어야합니다 가장 최근에 반환 된 항목에서 어느 방향 으로든.

액세스 방법이 지원해야합니다"마킹"윈 토토 및 나중에 돌아 오는 위치 표시된 위치로. 동일한 위치가 복원 될 수 있습니다 여러 번. 그러나 당 하나의 위치 만 기억하면됩니다 주사; 새로운ammarkpos전화 이전에 표시된 위치를 무시합니다.

윈 토토 위치와 마크 위치 (있는 경우) 모두 동시 삽입에 직면하여 일관되게 유지됩니다 색인의 삭제. 새로 삽입 된 항목이 있으면 괜찮습니다 입력을 찾은 윈 토토으로 반환되지 않음 윈 토토이 시작되었을 때 또는 윈 토토이 그러한 구출되거나 백업시 입장 처음으로 돌아 왔습니다. 마찬가지로 동시 삭제 윈 토토 결과에 반영 될 수도 있고 없을 수도 있습니다. 무엇인가요 삽입 또는 삭제가 윈 토토을 유발하지 않는다는 것입니다. 그 자체가 아닌 리턴 항목을 놓치거나 곱하기 삽입 또는 삭제.

사용하는 대신amgettuple, an 인덱스 윈 토토을 수행 할 수 있습니다Amgetmulti통화 당 여러 튜플을 가져 오려면. 이것은보다 눈에 띄게 더 효율적일 수 있습니다.amgettuple피할 수 있기 때문입니다 액세스 방법 내에서 사이클을 잠그기/잠금 해제합니다. 원칙적으로Amgetmulti동일해야합니다 반복되는 효과amgettuple호출이지만 문제를 단순화하기위한 몇 가지 제한을 부과합니다. ~ 안에 첫 번째 장소,Amgetmulti취하지 않음방향인수 및 따라서 역방향 스캔이나 인트라 칸을 지원하지 않습니다 방향의 역전. 액세스 방법은 마킹을 지원할 필요가 없습니다 또는 an 동안 스캔 위치 복원Amgetmulti윈 토토. (이 제한 이러한 기능을 사용하기가 어렵 기 때문에 비용이 거의 들지 않습니다.Amgetmulti어쨌든 윈 토토 : 발신자의 버퍼링 된 TID 목록을 조정하는 것은 복잡합니다.) 마지막으로,Amgetmulti그렇지 않습니다 반환 된 튜플의 잠금을 보장합니다 철자PostgreSQL : 문서 : 8.3 : 배트맨 토토 잠금 고려 사항.