전체 텍스트 검색 속도를 높이는 데 사용할 수있는 두 가지 종류의 토토 캔가 있습니다 :진andgist. 토토 캔는 전체 텍스트 검색에 필수적이지 않지만 열이 정기적으로 검색되는 경우 일반적으로 색인이 바람직합니다.
그러한 색인을 만들려면 다음 중 하나를 수행하십시오.
진 토토 캔는 선호하는 텍스트 검색 색인 유형입니다. 반전 토토 캔로서, 그들은 각 단어 (Lexeme)에 대한 토토 캔 항목을 포함하고 일치하는 위치의 압축 목록이 포함되어 있습니다.TSVECTOR
값은 무게 라벨이 아닙니다. 따라서 가중치와 관련된 쿼리를 사용할 때 테이블 행이 다시 확인됩니다.
GIST 지수는Lossy, 즉 인덱스가 허위 일치를 생성 할 수 있으며, 그러한 허위 일치를 제거하려면 실제 테이블 행을 확인해야합니다. (PostgreSQL필요할 때 자동으로이를 수행합니다.) GIST 토토 캔는 각 문서가 고정 길이 서명으로 토토 캔에 표시되므로 손실됩니다. 바이트의 시그니처 길이는 선택적 정수 매개 변수의 값에 의해 결정됩니다.Siglen
. 기본 서명 길이 (Siglen
지정되지 않음)는 124 바이트이고 최대 서명 길이는 2024 바이트입니다. 시그니처는 각 단어를 N- 비트 문자열로 단일 비트로 해싱하여 생성되며,이 모든 비트는 N-BIT 문서 서명을 생성하기 위해 함께 또는 함께 함께 사용합니다.
GIST 지수를 덮을 수 있습니다. 즉, 사용포함
절. 포함 된 열에는 GIST 연산자 클래스가없는 데이터 유형을 가질 수 있습니다.
손실은 거짓 일치로 판명되는 테이블 레코드의 불필요한 페치로 인해 성능 저하를 유발합니다. 테이블 레코드에 대한 임의의 액세스는 느리기 때문에 GIST 인덱스의 유용성을 제한합니다.
참고진토토 캔 빌드 시간을 종종 증가시켜 개선 할 수 있습니다maintenance_work_mem, whilegist토토 캔 빌드 시간은 해당 매개 변수에 민감하지 않습니다.
대형 컬렉션의 파티셔닝 및 GIN 및 GIST 인덱스의 적절한 사용을 통해 온라인 업데이트로 매우 빠른 검색을 구현할 수 있습니다. 파티션은 테이블 상속을 사용하여 데이터베이스 수준에서 또는 서버를 통해 문서를 배포하고 외부 검색 결과를 수집하여 수행 할 수 있습니다 (예 : via외국 데이터액세스. 순위 기능은 로컬 정보 만 사용하기 때문에 후자는 가능합니다.
문서에 맞지 않는 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면