64.6. 스포츠 토토 베트맨 색인#

64.6.1. 개요#

PostgreSQL지속적인 온 디스크 스포츠 토토 베트맨 인덱스 구현이 포함되어 있으며, 이는 완전히 복구 가능합니다. 잘 정의 된 선형 순서가없는 데이터 유형을 포함하여 스포츠 토토 베트맨 인덱스에 의해 모든 데이터 유형을 색인화 할 수 있습니다.

해시 인덱스는 단일 열 인덱스 만 지원하며 독창성 검사를 허용하지 않습니다.

해시 인덱스 지원 만=운영자, 따라서 범위 작업을 지정하는 클로스가 스포츠 토토 베트맨 인덱스를 활용할 수없는 경우

각 스포츠 토토 베트맨 인덱스 튜플은 실제 열 값이 아닌 4 바이트 스포츠 토토 베트맨 값 만 저장합니다. 결과적으로 UUID, URL 등과 같은 더 긴 데이터 항목을 색인화 할 때 스포츠 토토 베트맨 인덱스가 B- 트리보다 훨씬 작을 수 있습니다. 열 값이 없으면 모든 스포츠 토토 베트맨 인덱스가 손실됩니다.

스포츠 토토 베트맨 인덱스는 더 큰 테이블에서 평등 스캔을 사용하는 선택 및 업데이트가 많은 워크로드에 가장 적합합니다. B-Tree 지수에서, 잎 페이지가 발견 될 때까지 검색은 나무를 통해 내려와야합니다.

스포츠 토토 베트맨 인덱스는 스포츠 토토 베트맨 값의 고르지 않은 분포에 대처하도록 설계되었습니다. 스포츠 토토 베트맨 값이 균등하게 분포 된 경우 버킷 페이지에 직접 액세스 할 수 있습니다.

오버플로 사례의 결과로 해시 인덱스는 해시 버킷 당 행이 적은 고유 한 거의 고유 한 데이터 또는 데이터에 가장 적합하다고 말할 수 있습니다. 문제를 피하는 한 가지 가능한 방법 중 하나는 부분 색인 조건을 사용하여 인덱스에서 비 유적 값을 제외하는 것이지만 많은 경우에 적합하지 않을 수 있습니다.

B- 트리와 마찬가지로 스포츠 토토 베트맨 인덱스는 간단한 인덱스 튜플 삭제를 수행합니다. 이것은 삭제하기에 안전한 것으로 알려진 인덱스 튜플을 삭제하는 지연된 유지 보수 작업입니다 (항목 식별자의 LP_DEAD 비트가 이미 설정된 것).

가능한 경우 진공 청소기는 오버플로 체인을 최소화하면서 인덱스 튜플을 가능한 한 적은 오버 플로우 페이지에 짜내려고합니다. 오버플로 페이지가 비어 있으면 오버플로 페이지를 다른 버킷에서 재사용 할 수 있도록 오버플로 페이지를 재활용 할 수 있지만 운영 체제로 반환하지는 않습니다.

스포츠 토토 베트맨 인덱스는 인덱스 된 행 수가 증가함에 따라 버킷 페이지 수를 확장 할 수 있습니다. 스포츠 토토 베트맨 키에서 버킷 투-버킷 매핑은 인덱스를 점진적으로 확장 할 수 있도록 선택됩니다.

확장은 전경에서 발생하여 사용자 인서트의 실행 시간을 증가시킬 수 있습니다. 따라서 스포츠 토토 베트맨 인덱스는 행이 빠르게 증가하는 테이블에 적합하지 않을 수 있습니다.

64.6.2. 구현#

스포츠 토토 베트맨 색인에는 4 가지 종류의 페이지가 있습니다. 메타 페이지 (Page Zero)는 정적으로 할당 된 제어 정보를 포함합니다. 기본 버킷 페이지;

인덱스를 스캔하고 튜플을 삽입하려면 주어진 튜플이 위치 해야하는 버킷을 찾아야합니다. 이를 위해서는 메타지에서 버킷 카운트, 하이 마스크 및 로우 마스크가 필요합니다.

기본 버킷 페이지 및 오버플로 페이지는 주어진 인덱스가 버킷 수에 비해 오버플로 페이지가 더 필요할 수 있으므로 독립적으로 할당됩니다. 해시 코드는 흥미로운 주소 지정 규칙 세트를 사용하여 다양한 오버 플로우 페이지를 지원하면서 기본 버킷 페이지를 생성 한 후에는 이동할 필요가 없습니다.

색인화 된 테이블의 각 행은 스포츠 토토 베트맨 인덱스의 단일 인덱스 튜플로 표시됩니다. 스포츠 토토 베트맨 인덱스 튜플은 버킷 페이지에 저장되며 존재하는 경우 오버플로 페이지.

스포츠 토토 베트맨 지수를 확장하기위한 버킷 분할 알고리즘은 너무 복잡하지만 여기서 언급 할 가치가 없지만src/backend/access/hash/readme. 분할 알고리즘은 충돌 안전하고 성공적으로 완료되지 않으면 다시 시작할 수 있습니다.

정정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면