F.9. btree_gist — 토토 사이트 순위트리 동작을 갖춘 GiST 연산자 클래스#

btree_gist데이터 유형에 대한 토토 사이트 순위트리 동등한 동작을 구현하는 GiST 인덱스 연산자 클래스 제공int2, int4, int8, 플로트4, float8, 숫자, 시간대가 포함된 타임스탬프, 시간대 없는 타임스탬프, 시간대 포함 시간, 시간대가 없는 시간, 날짜, 간격, oid, , 문자, varchar, 텍스트, 바이테아, 비트, varbit, macaddr, macaddr8, inet, cidr, uuid, 부울그리고 모두열거형유형.

일반적으로 이러한 연산자 클래스는 동등한 표준 B-트리 인덱스 방법보다 성능이 뛰어나지 않으며 표준 B-트리 코드의 주요 기능 중 하나인 고유성을 강제하는 기능이 부족합니다. 그러나 아래 설명과 같이 B-트리 인덱스에서는 사용할 수 없는 몇 가지 다른 기능을 제공합니다. 또한 이러한 연산자 클래스는 다중 열 GiST 인덱스가 필요할 때 유용합니다. 여기서 일부 열은 GiST로만 인덱싱 가능한 데이터 유형이지만 다른 열은 단순한 데이터 유형입니다. 마지막으로 이러한 연산자 클래스는 GiST 테스트 및 기타 GiST 연산자 클래스 개발을 위한 기반으로 유용합니다.

일반적인 토토 사이트 순위트리 검색 연산자 외에,btree_gist또한 다음에 대한 색인 지원을 제공합니다.< (같지 않음). 이는 다음과 함께 사용하면 유용할 수 있습니다.제외 제약조건, 아래 설명대로.

또한 자연적인 거리 측정법이 있는 데이터 유형의 경우btree_gist거리 연산자를 정의<-, 이 연산자를 사용하여 최근접 검색에 대한 GiST 인덱스 지원을 제공합니다. 거리 연산자가 제공됩니다.int2, int4, int8, 플로트4, float8, 시간대가 포함된 타임스탬프, 시간대 없는 타임스탬프, 시간대가 없는 시간, 날짜, 간격, oid.

이 모듈은 고려됩니다.신뢰할 수 있는즉, 슈퍼유저가 아닌 사용자가 설치할 수 있습니다.생성현재 데이터베이스에 대한 권한입니다.

F.9.1. 사용 예#

다음을 사용한 간단한 예btree_gist대신브트리:

CREATE TABLE 테스트(int4);
-- 인덱스 생성
GIST를 사용하여 테스트 시 testidx 인덱스 생성(a);
-- 쿼리
SELECT * FROM test WHERE a < 10;
-- 최근접 이웃 검색: "42"에 가장 가까운 10개의 항목을 찾습니다.
SELECT *, a <- 42 AS dist FROM test ORDER BY a <- 42 LIMIT 10;

다음을 사용하세요제외 제약조건동물원의 우리에는 한 종류의 동물만 수용할 수 있다는 규칙을 시행하기 위해:

= 테이블 생성 동물원(
  케이지 정수,
  동물 텍스트,
  GIST를 사용하여 제외(케이지 WITH =, 동물 WITH <)
);

= 동물원 VALUES(123, 'zebra')에 삽입;
삽입 0 1
= 동물원 VALUES(123, 'zebra')에 삽입;
삽입 0 1
= 동물원 VALUES(123, '사자')에 삽입;
오류: 충돌하는 키 값이 제외 제약조건 'zoo_cage_animal_excl'을 위반합니다.
세부정보: 키(우리, 동물)=(123, 사자)가 기존 키(우리, 동물)=(123, 얼룩말)과 충돌합니다.
= 동물원 VALUES(124, '사자')에 삽입;
삽입 0 1

F.9.2. 저자#

테오도르 시가예프 (), 올렉 바르투노프(), 얀코 리히터() 및 Paul Jungwirth(). 보다http://www.sai.msu.su/~megera/postgres/gist/추가 정보를 확인하세요.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.