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

58.3. 인덱스 스캔

인덱스 토토 사이트 순위에서 인덱스 액세스 방법은 모든 튜플의 TID를 역류 할 책임이 있습니다.토토 사이트 순위 키. 액세스 방법은입니다.not실제로 색인의 상위 테이블에서 튜플을 실제로 가져 오거나 토토 사이트 순위의 시간 자격 테스트 또는 기타 조건을 통과하는지 여부를 결정하는 데 관여합니다.

토토 사이트 순위 키는 a의 내부 표현입니다.여기서양식 조항index_key 운영자 상수, 여기서 인덱스 키는 인덱스 열 중 하나이고 연산자는 해당 인덱스 열과 관련된 운영자 제품군의 구성원 중 하나입니다. 인덱스 스캔에는 토토 사이트 순위 키가 0 이상이므로 암시 적으로 anded합니다. 반환 된 튜플은 표시된 모든 조건을 충족시킬 것으로 예상됩니다.

액세스 메소드는 인덱스가라고보고 할 수 있습니다.Lossy또는 특정 쿼리에 대해 다시 확인해야합니다. 이는 인덱스 스캔이 토토 사이트 순위 키를 전달하는 모든 항목과 그렇지 않은 추가 항목을 반환한다는 것을 의미합니다.

주어진 토토 사이트 순위 키를 전달하는 모든 항목 만 올바르게 찾을 수 있도록 액세스 방법에 전적으로 달려 있습니다. 또한 핵심 시스템은 단순히 모든 것을 나눠 줄 것입니다.여기서인덱스 키 및 운영자 패밀리와 일치하는 조항은 의미 분석없이 중복인지 모순되는지 여부를 결정합니다. 예를 들어, 주어진여기서 x 4 및 x 14여기서xB-Tree Indexed 열입니다. B- 트리에 맡겨집니다Amrescan첫 번째 토토 사이트 순위 키가 중복되어 버릴 수 있음을 인식하는 기능 기능. 전처리의 정도가 필요한 동안Amrescan인덱스 액세스 방법이 토토 사이트 순위 키를 A로 줄이는 데 필요한 정도에 따라 다릅니다."정규화"양식.

일부 액세스 방법은 잘 정의 된 순서로 인덱스 항목을 반환하고 다른 액세스 방법은 그렇지 않습니다. 액세스 방법이 정렬 된 출력을 지원할 수있는 두 가지 방법이 실제로 있습니다.

  • 데이터의 자연 순서 (예 : btree)에서 항목을 항상 반환하는 액세스 방법PG_AM.amcanordertrue. 현재 이러한 액세스 방법은 평등 및 주문 운영자에게 Btree 호환 전략 번호를 사용해야합니다.

  • 순서 운영자를 지원하는 액세스 방법을 설정해야합니다PG_AM.amcanorderByoptrue. 이는 인덱스가 순서 만족으로 항목을 반환 할 수 있음을 나타냅니다주문 by index_key 운영자 Constant. 해당 양식의 토토 사이트 순위 수정자를 전달할 수 있습니다.Amrescan앞에서 설명한대로.

theAmgetTuple함수는방향논쟁, 어느 쪽이든ForwardScandirection(정상적인 경우) 또는BackwardsCandiprection. 이후의 첫 번째 전화 인 경우Amrescan지정BackwardsCandirection, 일치하는 인덱스 항목 세트는 정상적인 전면 간 방향이 아닌 연속 스캔해야합니다.amgettuple평소와 같이 첫 번째 튜플이 아니라 인덱스에서 마지막 일치하는 튜플을 반환해야합니다. (이것은 설정된 액세스 방법에 대해서만 발생합니다amcanorderto true.) 첫 번째 호출 후amgettuple가장 최근에 반환 된 항목에서 스캔을 어느 방향 으로든 진행할 준비가되어 있어야합니다. (하지만PG_AM.Amcanbackward거짓입니다. 모든 후속 통화는 첫 번째 방향과 동일한 방향을 갖습니다.)

순서 스캔을 지원하는 액세스 방법은 지원해야합니다"마킹"토토 사이트 순위의 위치와 나중에 표시된 위치로 돌아갑니다. 동일한 위치가 여러 번 복원 될 수 있습니다.ammarkposCall은 이전에 표시된 위치를 무시합니다. 순서 스캔을 지원하지 않는 액세스 방법은 여전히 ​​마크 및 복원 기능을 제공해야합니다.PG_AM, 그러나 호출되면 오류를 던지기에 충분합니다.

토토 사이트 순위 위치와 마크 위치 (있는 경우)는 인덱스의 동시 삽입 또는 삭제에 직면하여 일관되게 유지해야합니다. 토토 사이트 순위이 시작될 때 존재했을 때 입력을 찾은 토토 사이트 순위으로 새로 삽입 된 항목이 반환되지 않거나, 처음으로 반환되지 않았지만 구조 또는 백업시 해당 항목을 반환하는 토토 사이트 순위에 의해 반환되지 않으면 괜찮습니다.

인덱스가 원래 인덱스 데이터 값을 저장하는 경우 (일부 손실 표현이 아닌) 인덱스 전용 스캔을 지원하는 것이 유용하며, 여기서 인덱스는 힙 튜플의 TID가 아닌 실제 데이터를 반환합니다. 가시성 맵이 TID가 모두 가시 가능한 페이지에 있음을 보여 주면 만 작동합니다.

사용하는 대신amgettuple, 인덱스 토토 사이트 순위을 수행 할 수 있습니다AmgetBitMap한 번의 전화로 모든 튜플을 가져 오려면. 이것은보다 눈에 띄게 더 효율적일 수 있습니다.amgettuple액세스 방법 내에서 잠금/잠금을 피할 수 있기 때문입니다. 원칙적으로AmgetBitMap반복되는 것과 동일한 효과를 가져야합니다amgettuple호출이지만 문제를 단순화하기위한 몇 가지 제한을 부과합니다. 가장 먼저,AmgetBitMap모든 튜플을 한 번에 반환하고 스캔 위치를 표시하거나 복원하는 것이 지원되지 않습니다. 둘째, 튜플은 특정 주문이없는 비트 맵으로 반환되므로AmgetBitMapa방향인수. (주문 운영자도 그러한 스캔을 위해 공급되지 않습니다.) 또한 인덱스 전용 스캔을위한 조항은 없습니다.AmgetBitMap, 인덱스 튜플의 내용을 반환 할 방법이 없기 때문에. 마지막으로,AmgetBitMap반환 된 튜플의 잠그는 것을 보장하지 않으며, 그 의미가 있습니다.섹션 58.4.

액세스 방법 만 구현할 수있는 것이 허용됩니다AmgetBitMap그리고 아님amgettuple