ORACLE 在 performance tunning 上面就會提到. 基本上一個 table 在多次的異動之後, 資料的存放及索引的連續性就可能與最佳化的狀態有段差距, 資料的重整與索引的重建都有其必要性.
其他的資料庫沒有深入研究, 不很清楚...
defrag 只是一個系統在 tunning 時的一環, 而 tunnnig 的重要與否是要看使用者的需求而定的, 並不是每個系統都必須花時間去調整, 要如何取得這個平衡點是要每個管理員自己去決定的.
今天, 使用者對於如果讀取一個資料的可接受時間如果是 1 秒, 你的系統在最佳的情形下只要 1/1000 秒就做完, 而如果在碎裂嚴重時, 要 1/100 秒才做完, 這時候, 是否有必要花時間去重整呢 ? 使用者可能不會覺得 1/1000 與 1/100 之間有所差異 (雖然差了 10 倍). 相反的, 如果最佳時要 10 秒, 嚴重時要 20 秒, 雖然只有 1 倍的差異, 但是使用者的感覺就可能差很多...