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

56.4. 구현

56.4.1. GiST 버퍼링 빌드

단순히 모든 튜플을 삽입하여 큰 GiST 인덱스를 구축하는 것은 속도가 느린 경향이 있습니다. 왜냐하면 인덱스 튜플이 인덱스 전체에 분산되어 있고 인덱스가 캐시에 맞지 않을 만큼 크면 삽입 시 많은 무작위 I/O를 수행해야 하기 때문입니다. 버전 9.2부터 PostgreSQL은 버퍼링을 기반으로 GiST 인덱스를 구축하는 보다 효율적인 방법을 지원하므로 정렬되지 않은 데이터 세트에 필요한 임의 I/O 수를 크게 줄일 수 있습니다. 잘 정렬된 데이터 세트의 경우 이점은 더 작거나 존재하지 않습니다. 한 번에 소수의 페이지만 새 튜플을 수신하고 인덱스 전체가 그렇지 않더라도 해당 페이지는 캐시에 적합하기 때문입니다.

그러나 버퍼링 인덱스 빌드는 다음을 호출해야 합니다.페널티더 자주 작동하여 추가 CPU 리소스를 소비합니다. 또한 버퍼링 빌드에 사용되는 버퍼에는 결과 인덱스 크기까지 임시 디스크 공간이 필요합니다. 버퍼링은 결과 인덱스의 품질에 긍정적인 방향과 부정적인 방향 모두에 영향을 미칠 수도 있습니다. 그 영향은 입력 데이터의 분포 및 연산자 클래스 구현과 같은 다양한 요인에 따라 달라집니다.

기본적으로 GiST 인덱스 빌드는 인덱스 크기에 도달하면 버퍼링 방법으로 전환됩니다.유효_캐시_크기. 다음을 통해 수동으로 켜거나 끌 수 있습니다.버퍼링10324_10500