인덱스 윈 토토에서 인덱스 액세스 방법이 그것이 들었던 모든 튜플의 핵심을 역류시킵니다. 일치윈 토토 키. 액세스 메소드는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 : 배트맨 토토 잠금 고려 사항.