postgresql몇 가지를 제공합니다 인덱스 토토 꽁 머니 : B- 트리, R- 트리, 해시 및 GIST. 각 인덱스 토토 꽁 머니이 사용됩니다 다른 토토 꽁 머니의 다른 토토 꽁 머니에 가장 적합한 다른 알고리즘 쿼리. 기본적으로색인 생성명령은 가장 일반적인 B-Tree 지수를 생성합니다. 상황.
B- 트리는 평등과 범위 쿼리를 처리 할 수 있습니다 어떤 순서로 정렬 할 수있는 데이터. 특히PostgreSQL쿼리 플래너는 인덱스 된 열이있을 때마다 B-Tree 인덱스 사용을 고려하십시오. 이 연산자 중 하나를 사용한 비교에 관여합니다.
< |
<= |
= |
= |
Optimizer는 쿼리에 B- 트리 색인을 사용할 수도 있습니다. 패턴 일치 연산자 포함Like, ilike, ~및~*, if패턴은 문자열의 시작 (예 :COL 좋아요 'foo%'또는col ~ '^foo'하지만Col Like '%bar'. 그러나 서버 인 경우 C 로케일을 사용하지 않으면 인덱스를 만들어야합니다. 패턴 매칭의 인덱싱을 지원하는 특수 운영자 클래스 쿼리. 보다PostgreSQL : 문서 : 8.0 : 운영자 롤 토토아래.
R- 트리 인덱스는 공간의 쿼리에 적합합니다 데이터. r-tree index를 만들려면 양식의 명령을 사용하십시오
색인 생성이름on테이블RTREE 사용 (열);
thePostgreSQL쿼리 플래너 인덱스 된 열이있을 때마다 R- 트리 인덱스 사용을 고려합니다. 이 연산자 중 하나를 사용한 비교에 관여합니다.
<< |
&< |
& |
@ |
~ = |
&& |
해시 인덱스는 단순한 평등 만 처리 할 수 있습니다 비교. 쿼리 플래너는 해시 색인 사용을 고려합니다 인덱스 된 열이를 사용하여 비교에 관여 할 때마다=운영자. 다음 명령은입니다 해시 색인을 만드는 데 사용됩니다 :
색인 생성이름on테이블해시 사용 (열);
참고 :테스트가 표시PostgreSQL의 해시 인덱스를 수행 할 수 있습니다 B-Tree 인덱스보다 낫고 인덱스 크기 및 빌드 시간 해시 인덱스의 경우 훨씬 더 나쁩니다. 이러한 이유로 해시 색인 현재 사용은 낙담합니다.
GIST 인덱스는 단일 종류의 색인이 아니라 오히려 많은 인덱싱 전략이있는 인프라 구현할 수 있습니다. 따라서 특정 운영자와 함께 인덱싱에 따라 다수는 요지 인덱스가 다릅니다. 전략 (운영자 클래스). 자세한 내용 정보 참조PostgreSQL : 문서 : 8.0 : 사설 토토 Indexes.
B-Tree Index 메소드는 Lehman-Yao의 구현입니다 고소도 B- 트리. R- 트리 색인 방법이 구현됩니다 Guttman의 2 차 분할 알고리즘을 사용한 표준 R- 트리. 그만큼 해시 인덱스 방법은 Litwin의 선형 구현입니다 해싱. 우리는 그것을 나타내는 데만 사용되는 알고리즘을 언급합니다 이러한 모든 인덱스 방법은 완전히 동적이며 주기적으로 최적화됩니다 (예를 들어, 경우와 마찬가지로 정적 해시 방법).