인덱스 스포츠 토토 결과에서 인덱스 액세스 방법은 모든 튜플의 TID를 역류 할 책임이 있습니다.스포츠 토토 결과 키. 액세스 방법은입니다.not실제로 인덱스의 상위 테이블에서 튜플을 가져 오거나 스포츠 토토 결과의 시간 자격 테스트 또는 기타 조건을 통과하는지 여부를 결정하는 데 관여합니다.
스포츠 토토 결과 키는 a의 내부 표현입니다.여기서
양식 조항index_key
운영자
상수
, 여기서 인덱스 키는 인덱스 열 중 하나이고 연산자는 해당 인덱스 열과 관련된 운영자 제품군의 구성원 중 하나입니다. 인덱스 스캔에는 스포츠 토토 결과 키가 0 이상이므로 암시 적으로 anded합니다. 반환 된 튜플은 표시된 모든 조건을 충족시킬 것으로 예상됩니다.
액세스 방법은 인덱스가라고보고 할 수 있습니다.Lossy또는 특정 쿼리에 대해 다시 확인해야합니다. 이는 인덱스 스캔이 스포츠 토토 결과 키를 전달하는 모든 항목과 그렇지 않은 추가 항목을 반환한다는 것을 의미합니다. 핵심 시스템의 인덱스 스캔 기계는 인덱스 조건을 힙 튜플에 다시 적용하여 실제로 선택 해야하는지 여부를 확인합니다. 다시 확인 옵션이 지정되지 않은 경우 인덱스 스캔은 일치하는 항목 세트를 정확히 반환해야합니다.
주어진 스포츠 토토 결과 키를 전달하는 모든 항목 만 올바르게 찾을 수 있도록 액세스 방법에 전적으로 달려 있습니다. 또한 핵심 시스템은 단순히 모든 것을 나눠 줄 것입니다.여기서
인덱스 키 및 운영자 패밀리와 일치하는 조항은 의미 분석없이 중복인지 모순되는지 여부를 결정합니다. 예를 들어, 주어진여기서 x 4 및 x 14
여기서x
B-Tree Indexed 열입니다. B- 트리에 맡겨집니다Amrescan
첫 번째 스포츠 토토 결과 키가 중복되어 버릴 수 있음을 인식하는 기능. 전처리의 정도가 필요한 동안Amrescan
인덱스 액세스 방법이 스포츠 토토 결과 키를 A로 줄이는 데 필요한 정도에 따라 다릅니다.“12521_12533”양식.
일부 액세스 방법은 잘 정의 된 순서로 인덱스 항목을 반환하고 다른 액세스 방법은 그렇지 않습니다. 액세스 방법이 정렬 된 출력을 지원할 수있는 두 가지 방법이 실제로 있습니다.
데이터의 자연 순서 (예 : btree)에서 항목을 항상 반환하는 액세스 방법amcanorder
true. 현재 이러한 액세스 방법은 평등 및 주문 운영자에게 Btree 호환 전략 번호를 사용해야합니다.
주문 운영자를 지원하는 액세스 방법을 설정해야합니다amcanorderByop
true. 이는 인덱스가 순서 만족으로 항목을 반환 할 수 있음을 나타냅니다주문 by
index_key
운영자
Constant
. 해당 양식의 스포츠 토토 결과 수정자를 전달할 수 있습니다.Amrescan
앞에서 설명한대로.
theamgettuple
함수는방향
인수, 어느 쪽이든ForwardScandirection
(정상적인 경우) 또는BackwardsCandirection
. 이후의 첫 번째 전화 인 경우Amrescan
지정BackwardsCandiprection
, 일치하는 인덱스 항목 세트는 정상적인 전면 간 방향이 아닌 연속 전제 스캔해야합니다.amgettuple
일반적으로 첫 번째 튜플이 아니라 인덱스에서 마지막 튜플을 반환해야합니다. (이것은 설정된 액세스 방법에 대해서만 발생합니다amcanorder
to true.) 첫 번째 호출 후amgettuple
가장 최근에 반환 된 항목에서 스캔을 어느 방향 으로든 진행할 준비가되어 있어야합니다. (하지만Amcanbackward
거짓입니다. 모든 후속 통화는 첫 번째 방향과 동일한 방향을 갖습니다.)
순서 스캔을 지원하는 액세스 방법은 지원해야합니다“마킹”스포츠 토토 결과의 위치와 나중에 표시된 위치로 돌아갑니다. 동일한 위치가 여러 번 복원 될 수 있습니다. 그러나 스포츠 토토 결과 당 하나의 위치 만 기억하면됩니다. 새로운ammarkpos
Call은 이전에 표시된 위치를 무시합니다. 순서 스캔을 지원하지 않는 액세스 방법은 제공 할 필요가 없습니다ammarkpos
andAmrestros
함수indexamroutine
; 그 포인터를 대신 널로 설정합니다.
스포츠 토토 결과 위치와 마크 위치 (있는 경우)는 인덱스의 동시 삽입 또는 삭제에 직면하여 일관되게 유지해야합니다. 스포츠 토토 결과이 시작될 때 존재했을 때 입력을 찾은 스포츠 토토 결과으로 새로 삽입 된 항목이 반환되지 않거나, 처음으로 반환되지 않았지만 구조 또는 백업시 해당 항목을 반환하는 스포츠 토토 결과에 의해 반환되지 않으면 괜찮습니다. 마찬가지로, 동시 삭제는 스포츠 토토 결과 결과에 반영되거나 반영되지 않을 수 있습니다. 중요한 것은 삽입 또는 삭제로 인해 스포츠 토토 결과이 삽입되거나 삭제되지 않은 리턴 항목을 놓치거나 곱하지 않는다는 것입니다.
인덱스가 원래 인덱스 데이터 값을 저장하는 경우 (일부 손실 표현이 아닌) 지원하는 것이 유용합니다PostgreSQL : 문서 :, 여기서 인덱스는 힙 튜플의 TID뿐만 아니라 실제 데이터를 반환합니다. 가시성 맵이 TID가 모두 가시 가능한 페이지에 있음을 보여 주면 I/O를 피할 수 있습니다. 그렇지 않으면 MVCC 가시성을 확인하려면 힙 튜플을 방문해야합니다. 그러나 그것은 액세스 방법의 관심이 아닙니다.
사용하는 대신AmgetTuple
, 인덱스 스포츠 토토 결과을 수행 할 수 있습니다AmgetBitMap
한 번의 전화로 모든 튜플을 가져 오려면. 이것은보다 눈에 띄게 더 효율적일 수 있습니다.amgettuple
액세스 방법 내에서 잠금/잠금 해제 사이클을 피할 수 있기 때문입니다. 원칙적으로AmgetBitMap
반복과 동일한 효과를 가져야합니다AmgetTuple
호출이지만 문제를 단순화하기위한 몇 가지 제한을 부과합니다. 가장 먼저,AmgetBitMap
모든 튜플을 한 번에 반환하고 스캔 위치를 표시하거나 복원하는 것이 지원되지 않습니다. 둘째, 튜플은 특정 주문이없는 비트 맵으로 반환되므로AmgetBitMap
a방향
인수. (주문 운영자도 그러한 스캔을 위해 공급되지 않습니다.) 또한 인덱스 전용 스포츠 토토 결과을위한 조항은 없습니다.AmgetBitMap
, 인덱스 튜플의 내용을 반환 할 방법이 없기 때문에. 마지막으로,AmgetBitMap
반환 된 튜플의 잠그는 것을 보장하지 않으며, 그 의미가 있습니다.와이즈 토토 : 문서 : 11 : 61.4. 색인 잠금 고려 사항.
액세스 방법 만 구현할 수 있도록 허용됩니다AmgetBitMap
그리고 아님amgettuple