postgresql몇 가지를 제공합니다 인덱스 토토 사이트 순위 : B- 트리, 해시, 요트 및 진. 각 인덱스 토토 사이트 순위은 a를 사용합니다 다른 토토 사이트 순위의 다른 토토 사이트 순위에 가장 적합한 다른 알고리즘 쿼리. 기본적으로색인 생성명령은 가장 일반적인 B-Tree 인덱스를 만듭니다 상황.
B- 트리는 평등과 범위 쿼리를 처리 할 수 있습니다 어떤 순서로 정렬 할 수있는 데이터. 특히PostgreSQL쿼리 플래너는 인덱스 된 열이있을 때마다 B-Tree 인덱스 사용을 고려하십시오. 이 연산자 중 하나를 사용한 비교에 관여합니다.
< |
<= |
= |
= |
Optimizer는 쿼리에 B- 트리 색인을 사용할 수도 있습니다. 패턴 일치 연산자 포함Likeand~ if패턴은 일정하며입니다 문자열의 시작 부분에 고정 - 예를 들어col like 'foo%'또는col ~ '^foo'하지만Col Like '%bar'. 그러나 데이터베이스가 C 로케일을 사용하지 않으면 필요합니다. 지원하기 위해 특수 운영자 클래스로 인덱스를 작성하려면 패턴 매칭 쿼리의 인덱싱; 보다섹션 11.9아래. 그것은 또한 b-tree indexes를 사용할 수 있습니다ilikeand~*그러나 패턴이 시작된 경우에만 비 alphabetic 캐릭터, 즉 그렇지 않은 문자로 상단/소문자 변환의 영향을받습니다.
해시 인덱스는 단순한 평등 만 처리 할 수 있습니다 비교. 쿼리 플래너는 해시 색인 사용을 고려합니다 인덱스 된 열이를 사용하여 비교에 관여 할 때마다=운영자. (해시 인덱스는 지원하지 않습니다is null검색.) 다음 명령 해시 색인을 만드는 데 사용됩니다 :
색인 생성이름on테이블해시 사용 (열);
참고 :해시 인덱스 작업은 현재가 아닙니다 Wal-Logged, 따라서 해시 인덱스는 |Reindex데이터베이스 충돌 후. 을 위한 이런 이유로 해시 지수 사용은 현재 낙담합니다.
GIST 인덱스는 단일 종류의 색인이 아니라 오히려 많은 다른 색인화 인프라입니다 전략을 구현할 수 있습니다. 따라서, 특히 GIST 지수를 사용할 수있는 연산자는 인덱싱 전략 (운영자 수업). 예를 들어,의 표준 분포PostgreSQLGIST 포함 여러 차원 기하학적 데이터에 대한 운영자 클래스 이 연산자를 사용하여 인덱스 된 쿼리를 지원하는 유형 :
<< |
&< |
& |
<< | |
& <| |
| & |
| |
@ |
<@ |
~ = |
&& |
진 인덱스는 처리 할 수있는 반전 인덱스입니다 예를 들어 하나 이상의 키, 배열이 포함 된 값. 좋다 GIST, GIN은 다양한 사용자 정의 인덱싱을 지원할 수 있습니다 전략 및 진 색인이있는 특정 운영자 인덱싱 전략에 따라 사용할 수 있습니다. 로서 예,의 표준 분포PostgreSQL진 운영자 클래스를 포함합니다 1 차원 배열은 이들을 사용하여 인덱스 된 쿼리를 지원합니다 운영자 :
<@ |
@ |
= |
&& |