이 문서는 지원되지 않는 범퍼카 토토 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

52.4. 진 팁 그리고 트릭

만들기 대 삽입

a에 삽입인덱스는 많은 키가 있을 가능성으로 인해 느려질 수 있습니다. 각 값에 대해 삽입됩니다. 따라서 대량 삽입의 경우 테이블에서 GIN 인덱스를 삭제하고 다시 생성하는 것이 좋습니다. 대량 삽입을 마친 후.

현재포스트그레SQL8.4, 지연된 인덱싱은 다음과 같으므로 이 조언은 덜 필요합니다. 사용됨(참조섹션 52.3.1자세한 내용은). 그러나 대규모 업데이트의 경우 여전히 인덱스를 삭제하고 다시 생성하는 것이 가장 좋습니다.

maintenance_work_mem

a를 위한 빌드 시간색인은 다음에 매우 민감합니다.maintenance_work_mem설정; 그것은 지불하지 않습니다 인덱스 생성 중에 작업 메모리를 생략합니다.

work_mem

기존 항목에 일련의 삽입 중다음을 가진 색인빠른 업데이트활성화됨, 시스템 보류 항목 목록이 커질 때마다 정리됩니다. 보다 큼work_mem. 피하려면 관찰된 응답 시간의 변동에 따라 다음을 수행하는 것이 바람직합니다. 보류 목록 정리가 백그라운드에서 발생하도록 합니다(예: 자동 진공을 통해). 전경 정리 작업은 다음과 같습니다. 증가하여 방지work_mem또는 autovacuum을 더욱 공격적으로 만듭니다. 그러나 확대하면work_mem즉, 만약 전경 정리가 발생하는 경우에도 시간이 걸립니다. 더 길어.

gin_fuzzy_search_limit

개발의 주요 목표색인은 다음에 대한 지원을 만드는 것이었습니다. 확장성이 뛰어난 전체 텍스트 검색범퍼카 토토, 종종 전체 텍스트 검색이 매우 큰 세트를 반환하는 상황 결과. 게다가 이런 일은 종종 쿼리할 때 발생합니다. 매우 자주 사용되는 단어가 포함되어 있으므로 결과 집합이 커집니다. 유용하지도 않습니다. 디스크에서 많은 튜플을 읽은 이후 정렬하는 데 시간이 많이 걸릴 수 있습니다. 생산에 적합하지 않습니다. (인덱스 검색은 그 자체는 매우 빠릅니다.)

그러한 쿼리의 제어된 실행을 용이하게 하기 위해구성 가능한 항목이 있습니다 반환된 행 수에 대한 소프트 상한,gin_fuzzy_search_limit구성 매개변수. 0으로 설정됩니다(제한 없음을 의미함). 기본적으로. 0이 아닌 제한이 설정된 경우 반환되는 값은 다음과 같습니다. 세트는 다음에서 선택된 전체 결과 세트의 하위 세트입니다. 무작위.

"소프트"실제 반환된 결과의 수는 실제 결과와 약간 다를 수 있습니다. 쿼리 및 품질에 따라 지정된 제한 시스템의 난수 생성기입니다.