72.2. 구현

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

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

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

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

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

정정 제출

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