이 문서는 지원되지 않는 토토 커뮤니티 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.사설 토토 사이트 PostgreSQL : 문서 : 17 : 11.2. 색인 유형버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

11.2. 인덱스 유형

토토 커뮤니티B-tree, Hash, GiST, SP-GiST 및 GIN과 같은 여러 인덱스 유형을 제공합니다. 각 인덱스 유형은 다양한 쿼리 유형에 가장 적합한 다양한 알고리즘을 사용합니다. 기본적으로는색인 생성명령은 가장 일반적인 상황에 맞는 B-트리 색인을 생성합니다.

B-트리는 특정 순서로 정렬될 수 있는 데이터에 대한 동등성 및 범위 쿼리를 처리할 수 있습니다. 특히,토토 커뮤니티쿼리 플래너는 다음 연산자 중 하나를 사용하는 비교에 색인화된 열이 포함될 때마다 B-트리 색인 사용을 고려합니다.

<
<=
=
=
다음과 같은 연산자의 조합과 동등한 구성사이그리고IN, B-트리 인덱스 검색으로도 구현할 수 있습니다. 또한,NULL임또는NULL이 아닙니다인덱스 열의 조건은 B-트리 인덱스와 함께 사용될 수 있습니다.

최적화 프로그램은 패턴 일치 연산자와 관련된 쿼리에 B-트리 인덱스를 사용할 수도 있습니다.좋아요그리고~ if패턴은 상수이며 문자열의 시작 부분에 고정됩니다. 예를 들어 다음과 같습니다.col LIKE 'foo%'또는col ~ '^foo'하지만 아님col LIKE '%bar'. 그러나 데이터베이스가 C 로케일을 사용하지 않는 경우 패턴 일치 쿼리의 인덱싱을 지원하기 위해 특수 연산자 클래스를 사용하여 인덱스를 생성해야 합니다. 참조PostgreSQL : 문서 : 9.4 : 젠 토토 클래스 및 젠 토토 가족아래. B-트리 인덱스를 사용하는 것도 가능합니다.좋아요그리고~*, 그러나 패턴이 알파벳이 아닌 문자, 즉 대문자/소문자 변환의 영향을 받지 않는 문자로 시작하는 경우에만 해당됩니다.

B-트리 인덱스를 사용하여 정렬된 순서로 데이터를 검색할 수도 있습니다. 이는 간단한 스캔 및 정렬보다 항상 빠른 것은 아니지만 도움이 되는 경우가 많습니다.

해시 인덱스는 단순 동등 비교만 처리할 수 있습니다. 쿼리 플래너는 인덱싱된 열이 비교에 포함될 때마다 해시 인덱스 사용을 고려합니다.=연산자. 해시 인덱스를 생성하려면 다음 명령이 사용됩니다.

색인 생성이름켜짐테이블해시 사용 중 ();
주의

해시 인덱스 작업은 현재 WAL에 기록되지 않으므로 다음을 사용하여 해시 인덱스를 다시 작성해야 할 수 있습니다.REINDEX기록되지 않은 변경 사항이 있는 경우 데이터베이스 충돌 후. 또한 해시 인덱스에 대한 변경 사항은 초기 기본 백업 이후 스트리밍이나 파일 기반 복제를 통해 복제되지 않으므로 이후 이를 사용하는 쿼리에 잘못된 답변을 제공합니다. 이러한 이유로 현재 해시 인덱스 사용은 권장되지 않습니다.

GiST 인덱스는 단일 종류의 인덱스가 아니라 다양한 인덱스 전략을 구현할 수 있는 인프라입니다. 따라서 GiST 인덱스를 사용할 수 있는 특정 연산자는 인덱싱 전략에 따라 다릅니다(연산자 클래스). 예를 들어, 표준 분포는토토 커뮤니티다음 연산자를 사용하여 색인화된 쿼리를 지원하는 여러 2차원 기하학적 데이터 유형에 대한 GiST 연산자 클래스를 포함합니다.

<<
&<
&
<<|
&<|
|&
|
@
<@
~=
&&
(참조PostgreSQL : 문서 : 9.4 : 기하학적 함수 및 배트맨 토토이 연산자의 의미에 대해 설명합니다.) 표준 배포판에 포함된 GiST 연산자 클래스는 다음에 문서화되어 있습니다.표 56-1. 다른 많은 GiST 연산자 클래스는 다음에서 사용할 수 있습니다.기여컬렉션 또는 별도의 프로젝트로. 자세한 내용은 참조사설 토토 사이트 : 문서 : 9.4 : Gist Indexes.

GiST 인덱스도 최적화 가능"가장 가까운 이웃"다음과 같은 검색

SELECT * FROM 장소 ORDER BY 위치 <- 포인트 '(101,456)' LIMIT 10;

주어진 목표 지점에 가장 가까운 10개의 장소를 찾습니다. 이를 수행하는 기능은 사용되는 특정 연산자 클래스에 따라 달라집니다. 안에표 56-1, 이런 방식으로 사용할 수 있는 연산자가 열에 나열되어 있습니다."순서 연산자".

SP-GiST 인덱스는 GiST 인덱스와 마찬가지로 다양한 종류의 검색을 지원하는 인프라를 제공합니다. SP-GiST는 쿼드트리, k-d 트리 및 기수 트리(트라이)와 같은 다양한 불균형 디스크 기반 데이터 구조의 구현을 허용합니다. 예를 들어, 표준 분포는토토 커뮤니티다음 연산자를 사용하여 색인된 쿼리를 지원하는 2차원 점에 대한 SP-GiST 연산자 클래스를 포함합니다.

<<
~=
<@
<^
^
(참조PostgreSQL : 문서 : 9.4 : 기하학적 함수 및 배트맨 토토이 연산자의 의미에 대해 설명합니다.) 표준 배포판에 포함된 SP-GiST 연산자 클래스는 다음에 문서화되어 있습니다.표 57-1. 자세한 내용은 참조PostgreSQL : 문서 : 9.4 : 무지개 토토 Indexes.

GIN 인덱스는 배열과 같이 하나 이상의 키를 포함하는 값을 처리할 수 있는 반전된 인덱스입니다. GiST 및 SP-GiST와 마찬가지로 GIN은 다양한 사용자 정의 색인 전략을 지원할 수 있으며 GIN 색인을 사용할 수 있는 특정 연산자는 색인 전략에 따라 다릅니다. 예를 들어, 표준 분포는토토 커뮤니티다음 연산자를 사용하여 색인된 쿼리를 지원하는 1차원 배열용 GIN 연산자 클래스를 포함합니다.

<@
@
=
&&
(참조PostgreSQL : 문서 : 9.4 : 스포츠 토토 사이트 함수 및 연산자이 연산자의 의미에 대해 설명합니다.) 표준 배포판에 포함된 GIN 연산자 클래스는 다음에 문서화되어 있습니다.표 58-1. 다른 많은 GIN 연산자 클래스를 사용할 수 있습니다.기여컬렉션 또는 별도의 프로젝트로. 자세한 내용은 참조스포츠 토토 사이트 : 문서 : 9.4 : 진 인덱스.