shrink space compcat;
相当于把块中数据打结实了。没有变动hwm(高水位)。
方法一:
Export/Truncate/Import
方法二:
alter table table_name move; alter index index_name rebuild;
这两种方法,哪种更好?我个人觉得方法二更方便。
如果方便的話,就用第二种。個人一直用的第二种方式!
前面提到oracle在10g已有專用的命令來做此動作了,如下:
alter table table_name shrink space;
後面還有兩個參數:cascade,compact;
compact:加此參數是爲了黨系統負載比較大時,做此動作可以減小性能影響。在負載比較輕時,在作一次alter table table_name shrink space;就可以了。
cascade:加上此參數會及聯shrink table上的索引,也相當如rebuild index; 也就相當於你上面在9i裏處理此問題的第二种方式了!
所以第二种方式是完全可行的,只是要關注做此動作時對性能的影響。一般在系統負載比較輕時做此動作。另rebuild online時,會lock table。此時會影響系統dml操作,因此可以在語句后加online來降低影響,但會增加rebuil時間。總計,均衡當前狀況,來採取最合理的方式