이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : F.8. btree_gist-토토 핫tree 동작을 가진 GIST 운영자 클래스버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

F.7. btree_gist

btree_gist데이터 유형에 대해 B- 트리 동등한 동작을 구현하는 GIST 인덱스 운영자 클래스 제공int2, int4, int8, float4, float8, 숫자, 시간대가있는 타임 스탬프, 시간대가없는 타임 스탬프, 시간대가있는 시간, 시간대가없는 시간, 날짜, 간격, OID, Money, char, varchar, 텍스트, BYTEA, 비트, Varbit, MacAddr, MacAddr8, inet, CIDR, uuid및 allenum타입.

일반적으로, 이러한 운영자 클래스는 동등한 표준 B- 트리 색인 방법을 능가하지 않으며 표준 B- 트리 코드의 주요 기능이 부족합니다 : 독창성을 시행하는 능력. 그러나 아래에 설명 된대로 B-Tree 지수로 사용할 수없는 다른 기능을 제공합니다. 또한, 이러한 운영자 클래스는 다중 컬럼 GIST 인덱스가 필요할 때 유용하며, 일부 열은 GIST에서만 인덱스 할 수있는 데이터 유형이지만 다른 열은 단순한 데이터 유형 일뿐입니다. 마지막으로, 이러한 운영자 클래스는 GIST 테스트에 유용하고 다른 GIST 운영자 클래스를 개발하기위한 기반으로 유용합니다.

일반적인 B- 트리 검색 연산자 외에도btree_gist또한에 대한 인덱스 지원을 제공합니다<(동일하지 않음). 이것은와 함께 유용 할 수 있습니다.제외 제약 조건, 아래에 설명 된대로.

또한 자연 거리 메트릭이있는 데이터 유형의 경우btree_gist거리 연산자 정의<--,이 연산자를 사용한 가장 가까운 이웃 검색에 대한 GIST 인덱스 지원을 제공합니다. 거리 운영자가 제공됩니다int2, int4, int8, float4, float8, 시간대가있는 타임 스탬프, 시간대가없는 타임 스탬프, 시간대가없는 시간, 날짜, 간격, OIDMoney.

F.7.1. 예제 사용

간단한 예제 사용btree_gist대신btree:

테이블 테스트 생성 (in int4);
- 색인 생성
GIST (a)를 사용하여 테스트시 인덱스 testIdx를 만듭니다.
- 쿼리
테스트에서 * <10;
-가장 가까운 이웃 검색 : "42"에 가장 가까운 10 개의 항목을 찾으십시오.
a <- 42 Limit 10;에 의해 테스트 순서에서 멀리 떨어진 *, a <- 42를 선택하십시오.

an제외 제약 조건동물원의 케이지에 한 종류의 동물 만 포함 할 수 있다는 규칙을 시행하려면 :

= 테이블 동물원 생성 (
  케이지 정수,
  동물 텍스트,
  GIST 사용 (CAGE with =, Animal with <) 제외
);

= 동물원 값에 삽입 (123, 'Zebra');
삽입 0 1
= 동물원 값에 삽입 (123, 'Zebra');
삽입 0 1
= 동물원 값에 삽입 (123, 'lion');
오류 : 충돌 키 값은 제외 제약 조건 "zoo_cage_animal_excl"을 위반합니다.
세부 사항 : 키 (케이지, 동물) = (123, 사자)는 기존 키 (케이지, 동물) = (123, Zebra)와 충돌합니다.
= 동물원 값에 삽입 (124, 'lion');
삽입 0 1

F.7.2. 저자

Teodor Sigaev (), Oleg Bartunov (), Janko Richter () 및 Paul Jungwirth (). 보다http : //www.sai.msu.su/~megera/postgres/gist/추가 정보는