수집된 통계정보 확인(인덱스 기준 – 오라클)

By | 2024-11-19

이전에 통계정보 확인은 테이블에 대한 건수가 얼마나 있는지를 알아봤다면, 이번에는 인덱스를 기준으로 살펴보도록 하겠습니다.

ALL_IND_STATISTICS 에서도 같은 정보확인이 가능합니다.

알아보는 SQL은 아래와 같습니다.

SELECT TABLE_NAME
      ,INDEX_NAME
      ,BLEVEL             /* 리프블록 도달까지 읽는 블록수 */
      ,LEAF_BLOCKS        /* 인덱스 리프 블록 총 개수 */
      ,NUM_ROWS           /* 인덱스 저장된 레코드 개수 */
      ,DISTINCT_KEYS      /* '=' 조건으로 조회할 때 읽는 리프블록 수 
      ,AVG_LEAF_BLOCKS_PER_KEY /* '=' 조건으로 조회할 때 읽는 테이블블록 수 */
      ,CLUSTERING_FACTOR  /* 테이블이 모인 정도 
                             테이블레코드를 찾을 때 읽게 될 테이블 블록개수의 개산한 수 */
      ,SAMPLE_SIZE
      ,LAST_ANALYZED
  FROM ALL_INDEXES
 WHERE TABLE_NAME = '테이블명'
ORDER BY NUM_ROWS DESC
        ,DISTINCT_KEYS DESC
;

새로 만든 테이블인 경우, 통계정보에 나타나지 않거나 데이터건수가 존재하지만 0으로 표현될 경우가 있습니다.
이런 경우에는 DBA등 관리자에게 해당 테이블의 통계정보를 재생성해달라고 해야 합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다