truncate操作,同沒有where條件的delete操作十分相似,只是把表裡的資訊全部刪除,但是表依然存在.
例如:
truncate table xx
truncate不支援回滾,並且不能truncate乙個帶有外來鍵的表,如果要刪除首先要取消外來鍵,然後再刪除.
truncate table 後,有可能表空間仍沒有釋放,可以使用如下語句:
alter table 表名稱 deallocate unused keep 0;
注意如果不加keep 0的話,表空間是不會釋放的.
例如:
alter table f_minute_td_net_fho_b7 deallocate unused keep 0;
或者:truncate table (schema)table_name drop(reuse) storage;
才能釋放表空間.
例如:
truncate table test1 drop storage;
表空間釋放案例
某次發現資料庫中某個表空間使用率已經達到99.9 檢視資料庫表空間使用率 select a.tablespace name 表空間名 total 表空間大小 free 表空間剩餘大小 total free 表空間使用大小 total 1024 1024 1024 表空間大小 g free 1024 ...
優化mysql表空間 mysql表空間釋放情況彙總
mysql刪除資料幾種情況以及是否釋放磁碟空間 1 drop table table name 立刻釋放磁碟空間 不管是 innodb和myisam 2 truncate table table name 立刻釋放磁碟空間 不管是 innodb和myisam truncate table其實有點類似...
oracle表空間的釋放
1.shrink space 優點 降低高水位時索引不會失效 缺點 不能將表移動到其他表空間 高水位降低效果沒有move明顯 同時在執行命令前要先執行 alter table table name enable row movement允許行移動 也會表會產生行級鎖 shrink比move更耗費cp...