1
我最近從數據庫中的某些表中刪除了一大塊數據。現在我想釋放這些數據所佔據的空間。之後,我想重建索引。 什麼是釋放空間的最佳方式?從表中刪除數據後的Oracle可用空間
我最近從數據庫中的某些表中刪除了一大塊數據。現在我想釋放這些數據所佔據的空間。之後,我想重建索引。 什麼是釋放空間的最佳方式?從表中刪除數據後的Oracle可用空間
「釋放空間」是什麼意思?當你刪除數據時,塊中的空間被釋放。該空間現在可用於您從中刪除數據的表中的後續插入(或更新)。這通常是足夠的,因爲表格通常會在未來再次增長。
你可以縮小表,如果你想降低表段的大小,並提供給其他部分的空間在同一個表空間
ALTER TABLE table_name ENABLE ROW MOVEMENT;
ALTER TABLE table_name SHRINK SPACE CASCADE;
一般沒有必要在這一點上重建索引。
謝謝。爲什麼重建索引沒有好處? – Victor
@Kaushik - 通常,Oracle中的索引不需要重建。通過做一堆刪除和插入下面的物體,物理縮小物理表重新組織表中的數據。並且'SHRINK SPACE'命令中的'CASCADE'選項將該命令應用於索引等相關對象。在這一點上,你已經完成了索引上的'COALESCE'和'SHRINK'的等價物 - 沒有必要重建。 –