이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 12.9. 텍스트 검색을위한 우선 토토 사이트 추천 유형버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

12.9. 토토 사이트 추천 및 GIN 지수 유형

전체 속도를 높이는 데 사용할 수 있는 두 종류의 인덱스가 있습니다. 텍스트 검색. 전체 텍스트에는 색인이 필수가 아닙니다. 검색하지만, 정기적으로 열을 검색하는 경우 일반적으로 인덱스가 바람직합니다.

색인 생성이름켜짐테이블요점 사용();

토토 사이트 추천(일반 검색 트리) 기반 색인을 생성합니다.다음 중 하나일 수 있음ts벡터또는tsquery유형.

색인 생성이름켜짐테이블진 사용();

GIN(Generalized Inverted Index) 기반 인덱스를 생성합니다.다음 중 하나여야 함ts벡터유형.

둘 사이에는 상당한 성능 차이가 있습니다. 인덱스 유형을 이해하는 것이 중요합니다. 특징.

토토 사이트 추천 인덱스는손실, 즉 인덱스가 잘못된 일치를 생성할 수 있으므로 확인이 필요합니다. 그러한 잘못된 일치를 제거하기 위해 실제 테이블 행을 사용합니다. (포스트그레SQL다음 경우에 자동으로 이 작업을 수행합니다. 필요합니다.) 토토 사이트 추천 인덱스는 각 문서가 고정 길이 서명으로 인덱스에 표시됩니다. 서명 각 단어를 n비트의 단일 비트로 해싱하여 생성됩니다. 이 모든 비트를 OR로 연결하여 n비트를 생성하는 문자열 문서 서명. 두 단어가 동일한 비트 위치로 해시되는 경우 잘못된 일치가 있을 것입니다. 쿼리의 모든 단어가 일치하는 경우 (실제 또는 거짓) 그런 다음 테이블 행을 검색하여 일치가 정확합니다.

손실은 불필요한 작업으로 인해 성능 저하를 유발합니다. 잘못된 일치로 판명된 테이블 레코드를 가져옵니다. 이후 테이블 레코드에 대한 무작위 액세스가 느리므로 유용성이 제한됩니다. GiST 인덱스. 잘못된 일치 가능성은 여러 가지 요인에 따라 달라집니다. 요인, 특히 고유 단어의 수를 사용하여 이 숫자를 줄이기 위해 사전을 사용하는 것이 좋습니다.

GIN 인덱스는 표준 쿼리에 대해 손실이 없지만 성능은 고유 단어 수에 따라 대수적으로 달라집니다. (단, GIN 인덱스는 다음의 단어(어휘소)만 저장합니다.ts벡터값이 아니라 무게 라벨이 아닙니다. 따라서 다음과 관련된 쿼리를 사용할 때 테이블 행 재검사가 필요합니다. 가중치.)

GiST 또는 GIN 중에서 사용할 인덱스 유형을 선택할 때 다음을 고려하십시오. 성능 차이:

  • GIN 인덱스 조회는 토토 사이트 추천보다 약 3배 빠릅니다.

  • GIN 인덱스는 토토 사이트 추천보다 빌드하는 데 약 3배 더 오래 걸립니다.

  • GIN 인덱스는 GiST 인덱스보다 업데이트 속도가 약간 느립니다. 하지만 빠른 업데이트 지원이 비활성화된 경우에는 약 10배 느려집니다(참조섹션 57.3.1자세한 내용은)

  • GIN 인덱스는 토토 사이트 추천 인덱스보다 2~3배 더 큽니다.

경험상,색인은 조회가 더 빠르기 때문에 정적 데이터에 가장 적합합니다. 에 대한 동적 데이터인 경우 토토 사이트 추천 인덱스가 업데이트 속도가 더 빠릅니다. 구체적으로,지스트색인은 다음에 매우 좋습니다. 고유한 단어(어휘소)의 수가 100,000 미만, 반면색인 100,000개가 넘는 어휘를 더 잘 처리하지만 업데이트 속도가 느려집니다.

참고하세요인덱스 빌드 시간을 늘리면 시간이 향상될 수 있습니다.maintenance_work_mem, 동안지스트색인 빌드 시간은 다음과 같습니다. 해당 매개변수에 민감하지 않습니다.

큰 컬렉션의 분할과 GiST 및 GIN 인덱스를 사용하면 매우 빠른 검색을 구현할 수 있습니다. 온라인 업데이트. 파티셔닝은 다음을 사용하여 데이터베이스 수준에서 수행할 수 있습니다. 테이블 상속 또는 서버를 통해 문서를 배포하고 를 사용하여 검색 결과 수집dlink모듈. 후자가 가능하기 때문에 순위 기능은 지역 정보만 사용합니다.