1、drop table table_name 立刻釋放磁盤空間 ,不管是 Innodb和MyISAM
2、truncate table table_name 立刻釋放磁盤空間 ,不管是 Innodb和MyISAM 。truncate table其實(shí)有點(diǎn)類似于drop table 然后create。只不過這個create table 的過程做了優(yōu)化,比如表結(jié)構(gòu)文件之前已經(jīng)有了等等,就不需要重新再搞一把。所以速度上應(yīng)該是接近drop table的速度。
3、對于delete from table_name :刪除表的全部數(shù)據(jù)
對于MyISAM 會立刻釋放磁盤空間 (應(yīng)該是做了特別處理,也比較合理)
InnoDB 不會釋放磁盤空間
4、對于delete from table_name where xxx帶條件的刪除,不管是innodb還是MyISAM都不會釋放磁盤空間。
5、delete操作以后 使用optimize table table_name 會立刻釋放磁盤空間。不管是innodb還是myisam。所以要想達(dá)到清理數(shù)據(jù)的目的,請delete以后執(zhí)行optimize table 操作。
6、delete from表以后雖然未釋放磁盤空間,但是下次插入數(shù)據(jù)的時候,仍然可以使用這部分空間。
文章名稱:MySQL什么情況下刪除數(shù)據(jù)會釋放空間
網(wǎng)站路徑:
http://weahome.cn/article/pcpici.html