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

58.3. 인덱스 스캐닝

인덱스 토토 사이트 순위에서 인덱스 액세스 방법은 일치하는 것으로 알려진 모든 튜플의 TID를 역류하는 일을 담당합니다.토토 사이트 순위 키. 액세스 방법은 다음과 같습니다.아님실제로 인덱스의 상위 테이블에서 해당 튜플을 가져오거나 토토 사이트 순위의 시간 자격 테스트 또는 기타 조건을 통과하는지 여부를 결정하는 데 관여합니다.

토토 사이트 순위 키는 다음의 내부 표현입니다.어디양식의 절index_key 연산자 상수, 여기서 인덱스 키는 인덱스 열 중 하나이고 연산자는 해당 인덱스 열과 연결된 연산자 계열의 구성원 중 하나입니다. 인덱스 스캔에는 암시적으로 AND로 연결된 0개 이상의 토토 사이트 순위 키가 있습니다. 반환된 튜플은 표시된 모든 조건을 충족할 것으로 예상됩니다.

액세스 방법은 색인이 다음과 같다고 보고할 수 있습니다.손실또는 특정 쿼리에 대해 재확인이 필요합니다. 이는 인덱스 스캔이 토토 사이트 순위 키를 전달하는 모든 항목과 그렇지 않은 추가 항목을 반환한다는 것을 의미합니다. 그런 다음 코어 시스템의 인덱스 스캔 기계는 인덱스 조건을 다시 힙 튜플에 적용하여 실제로 선택해야 하는지 여부를 확인합니다. 재검사 옵션이 지정되지 않은 경우 인덱스 스캔은 정확히 일치하는 항목 세트를 반환해야 합니다.

주어진 모든 토토 사이트 순위 키를 전달하는 항목만 모두 정확하게 찾는 것은 전적으로 액세스 방법에 달려 있습니다. 또한 핵심 시스템은 모든 것을 간단히 전달할 것입니다.어디에서중복인지 모순인지 확인하기 위한 의미 분석 없이 인덱스 키 및 연산자 계열과 일치하는 절입니다. 예를 들어, 주어진x 4 AND x 14인 경우어디에서xb-트리 인덱스 열이며 b-트리에 남습니다.amrescan첫 번째 토토 사이트 순위 키가 중복되어 폐기될 수 있음을 인식하는 함수입니다. 동안 필요한 전처리 정도amrescan인덱스 액세스 방법이 토토 사이트 순위 키를 a로 줄여야 하는 정도에 따라 달라집니다."정규화됨"양식.

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

  • 항상 데이터의 자연스러운 순서로 항목을 반환하는 액세스 방법(예: btree)은 설정되어야 합니다.pg_am.암캔오더참으로. 현재 이러한 액세스 방법은 동등 및 순서 연산자에 대해 btree 호환 전략 번호를 사용해야 합니다.

  • 순서 연산자를 지원하는 액세스 방법을 설정해야 함pg_am.amcanorderbyop참입니다. 이는 인덱스가 만족하는 순서로 항목을 반환할 수 있음을 나타냅니다.주문 기준 index_key 연산자 상수. 해당 형식의 스캔 수정자는 다음으로 전달될 수 있습니다.amrescan이전에 설명한 대로입니다.

amgettuple함수에는방향인수, 둘 중 하나일 수 있음ForwardScanDirection(일반적인 경우) 또는BackwardScanDirection. 이후 첫 번째 통화인 경우amrescan지정BackwardScanDirection, 일치하는 색인 항목 세트는 일반적인 앞에서 뒤로 방향이 아닌 뒤에서 앞으로 스캔되므로amgettuple은 일반적으로 첫 번째 튜플이 아닌 인덱스에서 마지막으로 일치하는 튜플을 반환해야 합니다. (이는 설정된 액세스 방법에만 발생합니다.amcanorderto true.) 첫 번째 호출 후,amgettuple가장 최근에 반환된 항목에서 어느 방향으로든 스캔을 진행할 준비가 되어 있어야 합니다. (그러나 만약에pg_am.amcanbackwardfalse이면 모든 후속 호출은 첫 번째 호출과 동일한 방향을 갖습니다.)

순서가 지정된 스캔을 지원하는 액세스 방법은 다음을 지원해야 합니다."마킹"토토 사이트 순위의 위치이며 나중에 표시된 위치로 돌아갑니다. 동일한 위치가 여러 번 복원될 수 있습니다. 그러나 토토 사이트 순위당 하나의 위치만 기억하면 됩니다. 새로운ammarkpos호출은 이전에 표시된 위치를 무시합니다. 정렬된 스캔을 지원하지 않는 액세스 방법은 계속해서 표시 및 복원 기능을 제공해야 합니다.pg_am, 그러나 호출되면 오류를 발생시키는 것으로 충분합니다.

토토 사이트 순위 위치와 마크 위치(있는 경우)는 인덱스에 동시 삽입 또는 삭제가 발생하더라도 일관되게 유지되어야 합니다. 새로 삽입된 항목이 토토 사이트 순위이 시작될 때 존재했다면 해당 항목을 찾았을 토토 사이트 순위에서 반환되지 않거나 처음에 반환되지 않았더라도 다시 토토 사이트 순위하거나 백업할 때 해당 항목을 반환하는 토토 사이트 순위에서는 괜찮습니다. 마찬가지로 동시 삭제는 검색 결과에 반영되거나 반영되지 않을 수 있습니다. 중요한 것은 삽입 또는 삭제로 인해 토토 사이트 순위에서 삽입 또는 삭제되지 않은 반환 항목이 누락되거나 증가하지 않는다는 것입니다.

인덱스가 원래의 인덱싱된 데이터 값(그리고 손실된 표현이 아닌)을 저장하는 경우 인덱스가 힙 튜플의 TID뿐만 아니라 실제 데이터를 반환하는 인덱스 전용 스캔을 지원하는 것이 유용합니다. 이는 가시성 맵에 TID가 모두 표시되는 페이지에 있음이 표시되는 경우에만 작동합니다. 그렇지 않으면 MVCC 가시성을 확인하기 위해 어쨌든 힙 튜플을 방문해야 합니다. 그러나 이는 액세스 방법과 관련이 없습니다.

사용하는 대신amgettuple, 색인 토토 사이트 순위은로 수행할 수 있습니다.amgetbitmap한 번의 호출로 모든 튜플을 가져옵니다. 이는 다음보다 눈에 띄게 더 효율적일 수 있습니다.amgettuple액세스 방법 내에서 잠금/잠금 해제 주기를 피할 수 있기 때문입니다. 원칙적으로amgetbitmap반복된 것과 동일한 효과를 가져야 합니다amgettuple호출하지만 문제를 단순화하기 위해 몇 가지 제한 사항을 적용합니다. 우선,amgetbitmap모든 튜플을 한 번에 반환하며 스캔 위치 표시 또는 복원은 지원되지 않습니다. 둘째, 튜플은 특정 순서가 없는 비트맵으로 반환됩니다. 이것이 바로 이유입니다.amgetbitmap않음방향인수. (이러한 스캔에는 순서 연산자가 제공되지 않습니다.) 또한 다음을 사용한 인덱스 전용 스캔에 대한 규정도 없습니다.amgetbitmap, 인덱스 튜플의 내용을 반환할 방법이 없기 때문입니다. 마지막으로,amgetbitmap반환된 튜플의 잠금을 보장하지 않습니다. 의미는 다음에서 설명됩니다.PostgreSQL : 문서 : 9.5 : 스포츠 토토 사이트 잠금 고려 사항.

액세스 방법은 구현에만 허용됩니다.amgetbitmap그리고 아님amgettuple또는 그 반대(내부 구현이 하나의 API 또는 다른 API에 적합하지 않은 경우).