반응형
인덱스 분석자료를 수집하기 위해서 사용하는 구문입니다.
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.
하지만 한번에 한 인덱스만 사용가능하기 때문에 번거롭고 예전 버전에서 사용하는 기능이라 많이 사용될 것 같지는 않다는게 저의 생각입니다.
반응형
'Oracle > 운영' 카테고리의 다른 글
SID와 SERVICE NAME의 차이 및 확인법 (0) | 2021.07.09 |
---|---|
통계정보 수집 방법 비교 ANALYZE vs DBMS_STATS (0) | 2021.07.02 |
maxdatafile 갯수 초과 시 컨트롤 파일 재생성 유/무 테스트(Tibero6 포함) (0) | 2021.06.07 |
v$version - Oracle 버전&Edition 확인 (0) | 2021.04.19 |
PK 컬럼추가(PK 재생성)(Oracle,Tibero,Mysql) (0) | 2021.04.05 |
댓글