이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

7.2. 인덱스 유형

포스트그레스여러 가지를 제공합니다 인덱스 유형: B-트리, R-트리 및 해시. 각 인덱스 유형은 더 많은 것입니다. 알고리즘으로 인해 특정 쿼리 유형에 적합 그것은 사용합니다. 기본적으로는색인 생성명령은 가장 일반적인 B-트리 색인을 생성합니다. 상황. 특히,포스트그레쿼리 최적화 프로그램은 다음을 사용하는 것을 고려할 것입니다 인덱스화된 열이 포함될 때마다 B-트리 인덱스 다음 연산자 중 하나를 사용하여 비교합니다.<, <=, =, =,

R-트리 인덱스는 특히 공간 데이터에 적합합니다. 받는 사람 R-트리 인덱스를 생성하려면 다음 형식의 명령을 사용하십시오.

색인 생성이름켜짐테이블RTREE 사용 중 ();
포스트그레스쿼리 최적화 프로그램 인덱스된 열이 있을 때마다 R-트리 인덱스 사용을 고려할 것입니다. 다음 연산자 중 하나를 사용하여 비교에 포함됩니다.<<, &<, &, , @, ~=, &&(참조와이즈 토토 : 문서 : 7.1 : 기하학적 함수 및 연산자의미에 대해 이 연산자 중 하나입니다.)

쿼리 최적화 프로그램은 다음과 같은 경우 해시 인덱스 사용을 고려합니다. 인덱싱된 열은 다음을 사용한 비교에 포함됩니다.=연산자. 다음 명령은 해시 인덱스를 생성하는 데 사용됩니다.

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

참고:해시 유용성이 제한되어 있기 때문에 인덱스에서는 일반적으로 B-트리 인덱스가 선호됩니다. 해시 인덱스. 해시에 대한 충분한 증거가 없습니다. 인덱스는 실제로 B-트리보다 빠릅니다.=비교. 또한 해시 인덱스에는 다음이 필요합니다. 더 거친 자물쇠; 참조PostgreSQL :.

B-트리 인덱스는 Lehman-Yao의 구현입니다. 동시성이 높은 B-트리. R-트리 인덱스 방법은 다음을 구현합니다. Guttman의 2차 분할 알고리즘을 사용하는 표준 R-트리. 는 해시 인덱스는 Litwin의 선형 해싱을 구현한 것입니다. 우리 이러한 모든 것을 나타 내기 위해서만 사용되는 알고리즘을 언급하십시오. 액세스 방법은 완전히 동적이므로 최적화할 필요가 없습니다. 주기적으로(예를 들어 정적 해시의 경우처럼) 액세스 방법).