이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

7.2. 색인 유형

Postgres몇 가지를 제공합니다 인덱스 유형 : B- 트리, R- 트리 및 해시. 각 인덱스 유형이 더 많습니다 알고리즘으로 인해 특정 쿼리 유형에 적합합니다. 사용합니다. 기본적으로색인 생성명령은 B-Tree 지수를 생성합니다. 상황. 특히PostgresQuery Optimizer는 사용을 고려합니다 인덱스 된 열이 이 연산자 중 하나를 사용한 비교 :<, <=, =, =,

R- 트리 지수는 특히 공간 데이터에 적합합니다. 에게 R- 트리 색인 생성, 양식의 명령 사용

색인 생성이름on테이블RTREE 사용 (컬럼);
Postgres쿼리 최적화기 인덱스 된 열이있을 때마다 R- 트리 인덱스 사용을 고려합니다. 이 연산자 중 하나를 사용한 비교에 관여합니다.<<, &<, &, , @, ~ =, &&(참조와이즈 토토 : 문서 : 7.1 : 기하학적 함수 및 연산자의미에 대해 이 운영자의.)

쿼리 최적화기는 언제든 해시 색인 사용을 고려합니다. 인덱스 된 열은를 사용하여 비교에 관여합니다.=운영자. 다음 명령은입니다 해시 색인을 만드는 데 사용됩니다 :

색인 생성이름on테이블해시 사용 ();

참고 :해시의 제한된 유용성으로 인해 지수, B- 트리 지수는 일반적으로 해시 색인. 우리는 해시라는 충분한 증거가 없습니다 지수는 실제로 B- 트리보다 빠릅니다.=비교. 또한 해시 지수는 필요합니다 거친 자물쇠; 보다PostgreSQL :.

B-Tree 지수는 Lehman-Yao의 구현입니다 고소도 B- 트리. R- 트리 색인 방법이 구현됩니다 Guttman의 2 차 분할 알고리즘을 사용한 표준 R- 트리. 그만큼 해시 인덱스는 Litwin의 선형 해싱을 구현 한 것입니다. 우리 전적으로 사용 된 알고리즘은 액세스 방법은 완전히 역동적이며 최적화 될 필요가 없습니다. 주기적으로 (예를 들어, 정적 해시의 경우와 마찬가지로 액세스 방법).