問:在什麼樣的條件下需要重建索引?
答:重建索引需要如下兩個條件。
一:分析(analyze)指定索引之後,查詢index_stats的height字段的值,如果這個值>=4 ,最好重建(rebuild)這個索引。雖然這個規則不是總是正確,但如果這個值一直都是不變的,則這個索引也就不需重建。
二:在分析(analyze)指定索引之後,查詢index_stats的del_lf_rows和lf_rows的值,如果(del_lf_rows/lf_rows)*100 > = 20,則這個索引也需要重建。
舉例如下:
SQL > analyze index IND_PK validate structure;
SQL > select name,height,del_lf_rows,lf_rows,
(del_lf_rows/lf_rows) *100 from index_stats;
NAME HEIGHT DEL_LF_ROWS LF_ROWS (DEL_LF_ROWS/LF_ROWS)*100
------------------------------
INDX_PK 4 277353 990206 28.0096263
SQL> alter index IND_PK rebuild;