지원되는 버전 :16 / 젠 토토 : 문서 : 15 : 72.2. 구현 / 14 / 13
지원되지 않는 버전 :12 / 11 / 10
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

68.2. 구현

해시 색인에는 4 가지 종류의 페이지가 있습니다 : 메타 페이지 (페이지 제로)는 정적으로 할당 된 제어 정보를 포함합니다. 기본 버킷 페이지;

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

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

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

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