使用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
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