索引重建是一個爭論不休被不斷熱烈討論的議題。當然Oracle官方也有自己的觀點,我們很多DBA也是遵循這一准則來重建索引,那就是Oracle建議對於索引深度超過4級以及已刪除的索引條目至少占有現有索引條目總數的20% 這2種情形下需要重建索引。近來Oracle也提出了一些與之相反的觀點,就是強烈建議不要定期重建索引。本文是參考了1525787.1並進行相應描述。
1、重建索引的理由
2、重建索引的本質
3、反對重建索引的理由
盡管這是一種有效的索引檢查方法,但是它在分析索引時會獲取獨占表鎖。對於大型索引,其影響會是巨大的,因為在此期間不允許對表執行DML 操作。
b. 重建索引的直接結果是 REDO 活動可能會增加,總體系統負載也可能會提高。
插入/更新/刪除操作會導致索引隨著索引的分割和增長不斷發展。
4、Oracle的最終建議
6、真正需要重建索引的情形
7、相關參考
Oracle 索引質量分析