통계 어드바이저

통계 어드바이저는 SQL문의 성능을 향상시키기 위한 통계 수집에 대해 전문가 조언을 제공합니다.

대부분의 데이터베이스 관리 시스템에는 데이터베이스에 있는 데이터에 대한 통계를 사용하여 SQL문 처리에 가장 효율적인 실행 전략을 판별하는 쿼리 옵티마이저가 있으므로 데이터베이스 통계가 쿼리 성능에 중요합니다. 일반적으로 통계에는 테이블의 행 수, 구별 값 수, 가장 자주 사용되는 값 및 컬럼 값의 분배에 대한 정보가 포함됩니다. 옵티마이저는 이러한 통계를 사용하여 액세스 플랜의 단계마다 처리된 행 수 또는 카디낼리티(cardinality)를 계산합니다. 따라서 누락되었거나 오래되었거나 충돌하는 통계가 있는 경우 옵티마이저는 쿼리 플랜에서 단계 비용을 부정확하게 추정할 수 있습니다. 그로 인해 옵티마이저는 쿼리 처리 시간이 길어지는 나쁜 액세스 플랜을 자주 선택하게 됩니다.

통계 어드바이저는 통계를 수집하거나 정정하는 데 사용할 수 있는 RUNSTATS 명령을 권장합니다. 수집된 통계는 옵티마이저가 더 효율적인 액세스 경로를 선택하는 데 도움이 됩니다. 그러나 권장 통계를 수집한 후에도 옵티마이저가 동일한 액세스 경로를 선택할 수도 있습니다.

각 권장사항에는 우선순위 레벨이 있습니다. 우선순위 레벨은 다음과 같습니다.
높음
이 유형의 권장사항은 중요한 통계가 누락되었거나 오래되었거나 통계에 충돌이 있음을 나타냅니다.
유지보수
이 유형의 권장사항은 최하위 우선순위를 보유하며 카탈로그 통계가 완전하고 정확하다는 것을 표시합니다. 권장사항은 관련 통계의 상태를 유지보수하기 위해 유지보수 주기에 정기적으로 포함할 수 있는 RUNSTATS 작업을 제공합니다.

데이터 서버에서 RUNSTATS 유틸리티를 호출하는 데 필요한 권한 및 특권이 있는 경우 쿼리 튜너 Client에서 직접 통계를 캡처할 수 있습니다. 권장 RUNSTATS문을 파일에 복사 또는 저장하거나 검색할 데이터 서버의 프로파일 테이블에 저장한 후 나중에 또는 사용자 팀의 다른 구성원이 실행할 수도 있습니다. 통계 프로파일에 저장된 RUNSTATS 명령은 비교를 위해서도 표시됩니다. RUNSTATS 명령을 매번 실행하고 저장하는 경우, 특정 테이블에 대해 실행된 마지막 RUNSTATS 명령이 항상 표시됩니다.

다른 어드바이저로 이동하기 전에 통계 어드바이저를 다시 실행하고 모든 높은 우선순위 권장사항을 해결할 때까지 권장 통계를 캡처하십시오. 다른 단일 쿼리 어드바이저는 정확한 통계에 따라 권장사항을 작성합니다. 새 액세스 플랜 그래프를 생성하고 원본 액세스 플랜 그래프와 비교하여 액세스 경로가 변경되었는지 여부를 알 수도 있습니다.


피드백