mysql表空間釋放狀況彙總

MySQL刪除數據幾種狀況以及是否釋放磁盤空間:mysql

一、drop table table_name 馬上釋放磁盤空間 ,無論是 Innodb和MyISAM ;sql

二、truncate table table_name 馬上釋放磁盤空間 ,無論是 Innodb和MyISAM 。truncate table其實有點相似於drop table 而後creat,只不過這個create table 的過程作了優化,好比表結構文件以前已經有了等等。因此速度上應該是接近drop table的速度;ide

三、delete from table_name刪除表的所有數據,對於MyISAM 會馬上釋放磁盤空間 (應該是作了特別處理,也比較合理),InnoDB 不會釋放磁盤空間;優化

四、對於delete from table_name where xxx帶條件的刪除, 無論是innodb仍是MyISAM都不會釋放磁盤空間;3d

五、delete操做之後使用optimize table table_name 會馬上釋放磁盤空間。無論是innodb仍是myisam 。因此要想達到釋放磁盤空間的目的,delete之後執行optimize table 操做。
六、delete from表之後雖然未釋放磁盤空間,可是下次插入數據的時候,仍然可使用這部分空間。 blog

刪除前:it

mysql表空間釋放狀況彙總

mysql表空間釋放狀況彙總

相關文章
相關標籤/搜索