| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.3 : 색인 토토 사이트 추천 토토 사이트 추천 함수 | PostgreSQL : 문서 : 9.3 : 인덱스 메이저 토토 사이트 방법 인터페이스 정의 | 54장. 색인 액세스 방법 인터페이스 정의 | PostgreSQL : 문서 : 9.3 : 윈 토토 잠금 고려 사항 | |
인덱스 스캔에서 인덱스 액세스 방법은 다음을 담당합니다. 이미 알려진 모든 튜플의 TID를 역류합니다. 일치하는 것은토토 커뮤니티 키. 접근 방법은아님관련된 실제로 인덱스의 상위 테이블에서 해당 튜플을 가져오거나 토토 커뮤니티 시간 적격성 테스트를 통과했는지 여부를 결정하는 데 있어 또는 기타 조건.
토토 커뮤니티 키는 다음의 내부 표현입니다.어디양식의 절index_key 연산자 상수, 여기서 인덱스 키는 다음 중 하나입니다. 인덱스의 열과 연산자는 해당 인덱스 열과 연관된 연산자 패밀리입니다. 인덱스 스캔 암시적으로 AND로 연결된 0개 이상의 토토 커뮤니티 키가 있습니다. 반환된 튜플은 표시된 모든 항목을 만족할 것으로 예상됩니다. 조건.
액세스 방법은 색인이 다음과 같다고 보고할 수 있습니다.손실또는 특정 항목에 대해 재확인이 필요함 쿼리. 이는 인덱스 스캔이 모든 항목을 반환한다는 것을 의미합니다. 토토 커뮤니티 키와 토토 커뮤니티 키를 전달하는 추가 항목을 전달하는 항목 아닙니다. 그런 다음 핵심 시스템의 인덱스 스캔 기계가 다음을 적용합니다. 조건을 다시 힙 튜플에 인덱스하여 여부를 확인합니다. 정말 선택해야합니다. 재검사 옵션이 없는 경우 지정하면 인덱스 스캔은 정확히 일치하는 세트를 반환해야 합니다. 항목.
다음을 보장하는 것은 전적으로 액세스 방법에 달려 있음을 참고하십시오.
주어진 모든 항목을 전달하는 항목만 모두 정확하게 찾습니다.
토토 커뮤니티 키. 또한 핵심 시스템은 모든 것을 간단히 전달할 것입니다.어디인덱스 키와 일치하는 절
의미론적 분석 없이 연산자 계열을 결정합니다.
중복되거나 모순되는지 여부. 예를 들어, 주어진x 4 AND x 14인 경우어디에서x은 B-트리 인덱스 열이며 왼쪽에 있습니다.
B-트리로amrescan기능
첫 번째 토토 커뮤니티 키는 중복되어 폐기될 수 있음을 인식합니다.
동안 필요한 전처리 정도amrescan정도에 따라 달라집니다.
인덱스 액세스 방법은 토토 커뮤니티 키를 a로 줄여야 합니다."정규화됨"양식.
일부 액세스 방법은 잘 정의된 형식으로 색인 항목을 반환합니다. 주문, 다른 사람들은 그렇지 않습니다. 실제로 두 가지 다른 방법이 있습니다. 액세스 방법은 정렬된 출력을 지원할 수 있습니다.
항상 자연 항목을 반환하는 액세스 방법 데이터(예: btree)의 순서를 설정해야 합니다.pg_am.암캔오더에 사실. 현재 이러한 액세스 방법은 btree 호환을 사용해야 합니다. 동등 및 순서 연산자에 대한 전략 번호입니다.
순서 연산자를 지원하는 액세스 방법을 설정해야 함pg_am.amcanorderbyop참입니다. 이는 다음을 나타냅니다.
인덱스는 만족스러운 순서로 항목을 반환할 수 있습니다.주문 기준 index_key 연산자 상수. 해당 형식의 스캔 수정자는 다음과 같습니다.
전달됨amrescan설명대로
이전에.
그amgettuple함수에는방향인수, 둘 중 하나일 수 있음ForwardScanDirection(일반적인 경우) 또는BackwardScanDirection. 첫 통화라면
이후amrescan지정BackwardScanDirection, 그러면 일치하는 집합
인덱스 항목은 전체가 아닌 뒤에서 앞으로 스캔됩니다.
정상적인 앞에서 뒤로 방향이므로amgettuple다음에서 마지막으로 일치하는 튜플을 반환해야 합니다.
일반적으로 첫 번째 인덱스가 아닌 인덱스입니다. (이
설정된 액세스 방법에 대해서만 발생합니다.암캔오더to true.) 첫 번째 호출 후,amgettuple다음을 준비해야 합니다.
가장 최근부터 어느 방향으로든 스캔을 진행합니다.
반환된 항목입니다. (그러나 만약에pg_am.amcanbackward이 false이면 모든 후속 호출은
첫 번째.)
순서화된 스캔을 지원하는 액세스 방법은 다음을 지원해야 합니다."마킹"토토 커뮤니티 이후의 위치
표시된 위치로 돌아갑니다. 같은 입장일 수도
여러 번 복원되었습니다. 그러나 한 가지 위치만 있으면 됩니다.
토토 커뮤니티마다 기억됩니다. 새로운ammarkpos호출은 이전에 표시된 위치를 재정의합니다. 액세스 방법
정렬된 스캔을 지원하지 않는 경우에도 표시 및 표시를 제공해야 합니다.
복원 기능pg_am하지만 그렇죠
호출하면 오류가 발생하기에 충분합니다.
스캔 위치와 마크 위치(있는 경우)는 모두 다음과 같아야 합니다. 동시 삽입에도 일관되게 유지되거나 인덱스에서 삭제됩니다. 새로 삽입된 항목이 아니어도 괜찮습니다. 항목이 있었다면 항목을 찾았을 스캔에 의해 반환되었습니다. 스캔이 시작될 때 존재했거나 스캔이 그러한 재검사 또는 백업 시 항목이 삭제되지 않았음에도 불구하고 처음으로 돌아왔습니다. 마찬가지로 동시 삭제 검사 결과에 반영될 수도 있고 반영되지 않을 수도 있습니다. 무엇입니까? 중요한 것은 삽입이나 삭제로 인해 스캔이 중단되지 않는다는 것입니다. 그 자체가 아닌 반환 항목을 놓치거나 늘리십시오. 삽입 또는 삭제되었습니다.
색인이 원래 색인된 데이터 값을 저장하는 경우( 일부 손실 표현)을 지원하는 것이 유용합니다. 인덱스가 아닌 실제 데이터를 반환하는 인덱스 전용 스캔 힙 튜플의 TID입니다. 이는 다음과 같은 경우에만 작동합니다. 가시성 맵은 TID가 모두 보이는 페이지에 있음을 보여줍니다. 그렇지 않으면 MVCC 가시성을 확인하려면 어쨌든 힙 튜플을 방문해야 합니다. 하지만 이는 액세스 방법과 관련이 없습니다.
사용하는 대신amgettuple,
인덱스 스캔은 다음으로 수행할 수 있습니다.amgetbitmap한 번의 호출로 모든 튜플을 가져옵니다. 이
보다 눈에 띄게 더 효율적일 수 있습니다.amgettuple잠금/잠금 해제를 방지할 수 있기 때문입니다.
액세스 방법 내에서 순환합니다. 원칙적으로amgetbitmap와 동일한 효과를 가져야 합니다.
반복됨amgettuple전화하지만 우리는
문제를 단순화하기 위해 몇 가지 제한 사항을 부과합니다. 우선,amgetbitmap다음 위치에서 모든 튜플을 반환합니다.
한 번만 수행하면 스캔 위치를 표시하거나 복원하는 것은 지원되지 않습니다.
둘째, 튜플은 비트맵으로 반환됩니다.
특정 주문이 가능하므로amgetbitmap않음방향인수. (주문 연산자는 절대
해당 스캔에 대해서도 제공됩니다.) 또한 조항은 없습니다.
인덱스 전용 스캔의 경우amgetbitmap, 반환할 방법이 없기 때문에
인덱스 튜플의 내용. 마지막으로,amgetbitmap다음의 잠금을 보장하지 않습니다.
반환된 튜플, 의미는 다음에서 설명됨섹션 54.4.
액세스 방법은 구현에만 허용됩니다.amgetbitmap그리고 아님amgettuple또는 그 반대(내부인 경우)
구현은 하나의 API 또는 다른 API에 적합하지 않습니다.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 색인 액세스 방법 기능 | PostgreSQL : 문서 : 9.3 : 인덱스 메이저 토토 사이트 방법 인터페이스 정의 | 색인 잠금 고려사항 |