ITPub博客

首页 > 数据库 > Oracle > 使用index_stats视图查看索引效率

使用index_stats视图查看索引效率

原创 Oracle 作者:we6100 时间:2015-11-10 10:41:55 0 删除 编辑
使用INDEX_STATS查看索引使用空间的效率,如果表(和索引)数据进行多次的删除操作,那么大的索引随着时间的推移有变得不平衡的趋势。
注意,只有使用过ANALYZE后,才会对INDEX_STATS进行填充
SQL> ANALZE index hr.emp_name_ix VALIDATE STRUCTURE;
注意:index_stats只保存最近一次分析的结果

1.HEIGHT
此列指明BTREE索引的高度,通过为1,2,3层,如果有大量的数据插入使HEIGHT变成4或更多,则要重建索引,使BTREE扁平化。
2. DEL_LF_ROWS
此列表示由于行的删除而被删除的叶节点的数量。Oracle不会自动重建索引,因此,太多的被删除的叶节点可能导致BTREE不平衡。
3.BLKS_GETS_PER_ACCESS
检索数据要花费的I/O数,如果该列为两位数,则要考虑重建索引。

select name,height, del_lf_rows, lf_rows,blks_gets_per_access, round((del_lf_rows/(lf_rows+0.0000000001))*100) "Frag Percent" from index_stats
当height大于4,blks_gets_per_access大于10或者Frag Percent大于10%的时候,就需要考虑对索引重建

alter index 用户名.索引名 rebuild  tablespace 表空间名  storage(initial 初始值 next 扩展值)  nologging

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27500440/viewspace-1826734/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-02-23

  • 博文量
    72
  • 访问量
    268079