이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다사설 토토 사이트 PostgreSQL : 문서 : 17 : 11.2. 색인 유형버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

11.2. 토토 결과 유형

postgresql몇 가지를 제공합니다 인덱스 유형 : B- 트리, 해시, 요트 및 진. 각 인덱스 유형은 a를 사용합니다 다른 유형의 다른 유형에 가장 적합한 다른 알고리즘 쿼리. 기본적으로토토 결과 생성명령은 가장 일반적인 B-Tree 지수를 생성합니다. 상황.

B- 트리는 평등과 범위 쿼리를 처리 할 수 ​​있습니다 어떤 순서로 정렬 할 수있는 데이터. 특히PostgreSQL쿼리 플래너는 인덱스 된 열이있을 때마다 B-Tree 인덱스 사용을 고려하십시오. 이 연산자 중 하나를 사용한 비교에 관여합니다.

<
<=
=
=
이러한 연산자의 조합과 동등한 구성, 와 같은사이andin, B-Tree 지수로도 구현할 수도 있습니다 찾다. (하지만is null그렇지 않습니다 동등한=그리고 토토 결과 할 수 없습니다.)

Optimizer는 쿼리에 B- 트리 토토 결과을 사용할 수도 있습니다. 패턴 일치 연산자 포함Likeand~ if패턴은 일정하며입니다 문자열의 시작 부분에 고정 - 예를 들어COL Like 'foo%'또는col ~ '^foo'하지만Col Like '%bar'. 그러나 서버가 C 로케일을 사용하지 않으면 필요합니다. 지원하기 위해 특수 운영자 클래스로 인덱스를 작성하려면 패턴 매칭 쿼리의 인덱싱. 보다섹션 11.8아래. 그것은 또한 b-tree indexes를 사용할 수 있습니다ilike~*그러나 패턴이 시작된 경우에만 비 alphabetic 캐릭터, 즉 그렇지 않은 문자로 상단/소문자 변환의 영향을받습니다.

해시 인덱스는 단순한 평등 만 처리 할 수 ​​있습니다 비교. 쿼리 플래너는 해시 토토 결과 사용을 고려합니다 인덱스 된 열이를 사용하여 비교에 관여 할 때마다=운영자. 다음 명령은입니다 해시 색인을 만드는 데 사용됩니다 :

토토 결과 생성이름on테이블해시 사용 ();

참고 :테스트가 표시PostgreSQL의 해시 인덱스를 수행 할 수 있습니다 B-Tree 인덱스보다 낫고 인덱스 크기 및 빌드 시간 해시 인덱스의 경우 훨씬 더 나쁩니다. 또한 해시 색인 운영은 현재 월경화되지 않으므로 해시 색인이 가능합니다 로 재건되어야합니다Reindex데이터베이스 충돌 후. 이러한 이유로 해시 지수 사용은 다음과 같습니다 현재 낙담했습니다.

GIST 인덱스는 단일 종류의 토토 결과이 아니라 오히려 많은 다른 토토 결과화 인프라입니다 전략을 구현할 수 있습니다. 따라서, 특히 GIST 지수를 사용할 수있는 연산자는 인덱싱 전략 (운영자 수업). 예를 들어,의 표준 분포PostgreSQLGIST 포함 여러 차원 기하학적 데이터에 대한 운영자 클래스 이 연산자를 사용하여 인덱스 된 쿼리를 지원하는 유형 :

<<
&<
&
<< |
& <|
| &
|
@
<@
~ =
&&
(참조토토 베이 : 문서 : 8.2 : 토토 베이 함수 및 연산자이 연산자의 의미를 위해.) 많은 다른 GIST 연산자 클래스는에서 사용할 수 있습니다.Contrib수집 또는 별도의 프로젝트로. 자세한 내용은 참조사설 토토 : 문서 : 8.2 : 사설 토토 Indexes.

진 인덱스는 처리 할 수있는 반전 인덱스입니다 예를 들어 하나 이상의 키, 배열이 포함 된 값. 좋다 GIST, GIN은 다양한 사용자 정의 인덱싱을 지원할 수 있습니다 전략 및 진 색인이있는 특정 운영자 인덱싱 전략에 따라 사용할 수 있습니다. 로서 예,의 표준 분포PostgreSQL진 운영자 클래스를 포함합니다 1 차원 배열은 이들을 사용하여 인덱스 된 쿼리를 지원합니다 운영자 :

<@
@
=
&&
(참조PostgreSQL : 문서 : 8.2 : 젠 토토 함수 및 연산자이 연산자의 의미는 다른 진 운영자 클래스입니다. 사용 가능Contrib tsearch2andintarray모듈. 자세한 내용은 참조토토 베이 : 문서 : 8.2 : 진 인덱스.