본문 바로가기
Oracle/운영

ANALYZE INDEX VALIDATE STRUCTURE

by 취미툰 2021. 6. 23.
반응형

인덱스 분석자료를 수집하기 위해서 사용하는 구문입니다.

ANALYZE 구문은 Oracle 예전버전에서 통계정보를 수집하기 위해 사용하던 구문이라서 사용을 권장하지는 않는다고 합니다.

해당 구문 수행후 INDEX_STATS 테이블에 인덱스 정보가 기록됩니다.

한번에 한 인덱스만 수집됩니다.(overwrite 구조라서 다음 분석을 수행하면 이전 분석자료가 지워집니다)

 

LF_ROWS와 DEL_LF_ROWS에 대한 수를 확인합니다.

인덱스가 삭제된 행이 많으면 인덱스를 재구축해야 합니다,

LF_ROW에 대한 DEL_LF_ROWS의 비가 30%를 초과하면 재구축이 필요합니다,

 

ANALYZE INDEX TEST.PK_EMP_TEST VALIDATE STRUCTURE; 
SQL> select * from index_stats;

HEIGHT      BLOCKS      NAME                           PARTITION_NAME                 LF_ROWS     LF_BLKS     LF_ROWS_LEN LF_BLK_LEN  BR_ROWS     BR_BLKS     BR_ROWS_LEN BR_BLK_LEN  DEL_LF_ROWS DEL_LF_ROWS DISTINCT_KE MOST_REPEAT BTREE_SPACE USED_SPACE  PCT_USED    ROWS_PER_KE BLKS_GETS_P PRE_ROWS    PRE_ROWS_LE OPT_CMPR_CO OPT_CMPR_PC
----------- ----------- ------------------------------ ------------------------------ ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
          1           8 PK_EMP_TEST                                                             0           1                    7996           0           0           0           0           0           0           0           0        7996                                   0           1           0           0           0           0

1 rows selected.

아래는 실무에서 사용중인 인덱스를 확인한 내용입니다.

(730059/41821059)*100 = 1.74%가 나오므로 아직 인덱스 재구성이 필요하지는 않다고 파악됩니다.

SQL> SELECT blocks,  btree_space,  used_space,  pct_used "Usage(%)",
            lf_rows,  del_lf_rows "Deleted rows"
     FROM  INDEX_STATS;

BLOCKS      BTREE_SPACE USED_SPACE  Usage(%)    LF_ROWS     Deleted row
----------- ----------- ----------- ----------- ----------- -----------
     128352  1021857600   914598688          90    41821059      730059

1 rows selected.

 

하지만 한번에 한 인덱스만 사용가능하기 때문에 번거롭고 예전 버전에서 사용하는 기능이라 많이 사용될 것 같지는 않다는게 저의 생각입니다.

 

 

 

반응형

댓글