| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| 사설 토토 : 문서 : 9.3 : Extensibility | 토토 핫 : 문서 : 9.3 : 토토 핫 Indexes | 55장. GiST 인덱스 | 윈 토토 : 문서 : 9.3 : 예제 | |
단순히 모든 튜플을 삽입하여 대규모 GiST 색인 구축 인덱스 튜플이 여러 곳에 흩어져 있으면 속도가 느려지는 경향이 있습니다. 인덱스와 인덱스가 캐시에 맞지 않을 만큼 큰 경우 삽입은 많은 무작위 I/O를 수행해야 합니다. 다음에서 시작 버전 9.2, PostgreSQL은 보다 효율적인 빌드 방법을 지원합니다. 버퍼링 기반의 GiST 인덱스는 순서가 지정되지 않은 데이터 세트에 필요한 임의 I/O 수입니다. 에 대한 잘 정렬된 데이터 세트에서는 이점이 더 적거나 존재하지 않습니다. 한 번에 소수의 페이지만 새로운 튜플을 수신하기 때문에 인덱스 전체가 캐시에 들어가더라도 해당 페이지는 캐시에 맞습니다. 아닙니다.
그러나 버퍼링 인덱스 빌드는 다음을 호출해야 합니다.페널티함수를 더 자주 사용하여 일부를 소비합니다.
추가 CPU 리소스. 또한 버퍼링 빌드에 사용되는 버퍼는
결과 인덱스 크기까지 임시 디스크 공간이 필요합니다.
버퍼링은 결과 인덱스의 품질에도 영향을 미칠 수 있습니다.
긍정적인 방향과 부정적인 방향 모두. 그 영향력은 다음에 달려 있다.
입력 데이터의 분포 및
연산자 클래스 구현.
기본적으로 GiST 인덱스 빌드는 버퍼링 방법으로 전환됩니다 인덱스 크기에 도달하면유효_캐시_크기. 다음을 통해 수동으로 켜거나 끌 수 있습니다.버퍼링 중매개변수를 CREATE INDEX 명령에 추가합니다. 는 기본 동작은 대부분의 경우에 좋지만 버퍼링을 끄면 됩니다. 입력 데이터를 주문하면 빌드 속도가 다소 빨라질 수 있습니다.