`

重建索引的条件

阅读更多

如果索引存在碎片,那每个索引数据块上的索引数据就更少,会导致我们需要访
问更多的索引数据块。这时,我们需要考虑重建索引来释放碎片;


判断一个所以是否需要重建,我们介绍一个简单的方法:

对一个索引进行结构分析后,如果该索引占用超过了一个数据块,且满足以下条件之一:

 

1:B-tree 树的高度大于3

 

2:使用百分比低于75%

 

3:数据删除率大于15%

 

 

就需要考虑对索引重建:


SQL> analyze index VEHICLEALARM_ALARMTIME compute statistics;
Index analyzed.

 

SQL> analyze index VEHICLEALARM_ALARMTIME validate structure;
Index analyzed.

 

SQL> select btree_space, -- if > 8192(块的大小)
 height, -- if > 3
 pct_used, -- if < 75
 del_lf_rows/(decode(lf_rows,0,1,lf_rows)) *100 as deleted_pct -- if >20%
 from index_stats;

 

 


BTREE_SPACE   HEIGHT     PCT_USED  DELETED_PCT
-----------          ----------    ----------     -----------
880032              2                 89                 0

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics