使用INDEX_STATS重建索引判断

来源:互联网 发布:茱莉亚音乐学院 知乎 编辑:程序博客网 时间:2024/05/17 01:01
使用INDEX_STATS帮助是否需要重建索引,需要注意其中列
1.HEIGHT
此列指明BTREE索引的高度,通过为1,2,3层,如果有大量的数据插入使HEIGHT变成4或更多,则要重建索引,使BTREE扁平化。
2. DEL_LF_ROWS
此列表示由于行的删除而被删除的叶节点的数量。Oracle不会自动重建索引,因此,太多的被删除的叶节点可能导致BTREE不平衡。
3.BLKS_GETS_PER_ACCESS
检索数据要花费的I/O数,如果该列为两位数,则要考虑重建索引。


SQL> analyze index MB_OTHER_INCOMING_ID validate STRUCTURE;
 
Index analyzed


SQL> SELECT HEIGHT,
  2         BLOCKS,
  3         NAME,
  4         LF_ROWS,
  5         LF_BLKS,
  6         DEL_LF_ROWS,
  7         ROWS_PER_KEY,
  8         BLKS_GETS_PER_ACCESS
  9    FROM INDEX_STATS T
 10   WHERE NAME = 'MB_OTHER_INCOMING_ID';
 
    HEIGHT     BLOCKS NAME                              LF_ROWS    LF_BLKS DEL_LF_ROWS ROWS_PER_KEY BLKS_GETS_PER_ACCESS
---------- ---------- ------------------------------ ---------- ---------- ----------- ------------ --------------------
         2          8 MB_OTHER_INCOMING_ID                  266          2           0            1                    3