indexis inpostgresql유지 보수가 필요하지 않습니다 튜닝, 실제로 어떤 인덱스가 실제로 있는지 확인하는 것이 중요합니다. 실제 쿼리 워크로드에서 토토 사이트 순위됩니다. 인덱스 토토 사이트 순위을 검사합니다 개별 쿼리는로 수행됩니다.설명명령; 이것에 대한 적용 목적은에 설명되어 있습니다.섹션 13.1. 그것은 인덱스 토토 사이트 순위에 대한 전체 통계를 수집 할 수도 있습니다. 서버 실행,섹션 24.2.
일반적인 절차를 공식화하기가 어렵습니다 설정할 인덱스를 결정합니다. 여러 가지가 있습니다 전반적으로 예제에 표시된 전형적인 경우 이전 섹션. 많은 실험이있을 것입니다 대부분의 경우 필요합니다. 이 섹션의 나머지 부분은 몇 가지 팁을 제공합니다 그것을 위해.
항상 실행분석첫 번째. 이 명령은 수집됩니다 표에서 값의 분포에 대한 통계. 이 정보는 행의 수를 추측하는 데 필요합니다. 플래너가 할당 해야하는 쿼리로 반환 가능한 각 쿼리 계획에 대한 현실적인 비용. 없을 때 모든 실제 통계, 일부 기본값이 가정됩니다 거의 부정확 할 것입니다. 검사 실행하지 않고 응용 프로그램의 인덱스 사용량분석따라서 잃어버린 원인입니다.
12374_12533
매우 작은 테스트 데이터 세트를 사용하는 것은 특히 치명적입니다. 10 만 행 중 1000 개를 선택하는 동안 후보자가 될 수 있습니다. 인덱스의 경우 100 행 중 1 개를 선택하는 것은 거의 없습니다. 100 행은 아마도 단일 디스크 내에 맞기 때문에 페이지, 순차적으로 이길 수있는 계획이 없습니다. 1 디스크 페이지 가져 오기.
테스트 데이터를 구성 할 때 조심하십시오. 응용 프로그램이 생산 중이 아닌 경우 피할 수 없습니다 아직. 매우 유사하고 완전히 무작위 인 값 정렬 된 순서로 삽입 된 통계가 비뚤어집니다. 실제 데이터가 가질 분포.
인덱스를 토토 사이트 순위하지 않으면 테스트에 유용 할 수 있습니다. 그들의 토토 사이트 순위을 강요하십시오. 회전 할 수있는 런타임 매개 변수가 있습니다 다양한 계획 유형 (참조섹션 17.6.1). 예를 들어, 순차적 스캔을 끕니다 (enable_seqscan) 및 중첩 루프 조인 (enable_nestloop) 가장 기본적인 계획은 시스템이 다른 계획. 시스템이 여전히 순차적 스캔을 선택하는 경우 또는 중첩 루프 조인은 아마도 더 근본적인 일이있을 것입니다. 색인이 사용되지 않는 이유; 예를 들어 쿼리입니다 조건은 인덱스와 일치하지 않습니다. (어떤 종류의 쿼리가 가능합니다 이전에 설명 된 색인을 사용하십시오. 섹션.)
인덱스 토토 사이트 순위을 강제로 토토 사이트 순위하면 인덱스를 토토 사이트 순위하는 경우 두 가지 가능성 : 시스템이 옳고 토토 사이트 순위합니다. 색인은 실제로 적절하지 않거나 쿼리 계획은 현실을 반영하지 않습니다. 시간이 있어야합니다 색인이 있거나없는 쿼리. 그만큼분석명령이 유용 할 수 있습니다 여기.
비용 추정치가 잘못 되었다면 거기 다시 한번, 두 가지 가능성입니다. 총 비용은 계산됩니다 각 계획 노드 시간의 당 비용에서 계획 노드의 선택성 추정치. 비용이 추정되었습니다 계획 노드의 경우 런타임 매개 변수를 통해 조정할 수 있습니다. (설명섹션 17.6.2). 부정확 한 선택성 추정치는 기인합니다 통계가 충분하지 않습니다. 이것을 개선하는 것이 가능할 수 있습니다 통계 수집 매개 변수를 조정하여 (참조PostgreSQL :).
비용을 더 이상 조정하는 데 성공하지 못한 경우 적절한 경우 인덱스 강제에 의지해야 할 수도 있습니다. 명시 적으로 토토 사이트 순위합니다. 에도 연락 할 수도 있습니다.PostgreSQL개발자 문제를 조사하십시오.