delete刪除表 釋放空間


delete刪除之后,執行 optimize table tablename 就可以清除delete刪除數據占用的磁盤空間了 但是會鎖表慎用

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

1、drop table table_name 立刻釋放磁盤空間 ,不管是 InnoDB和MyISAM
2、truncate table table_name 立刻釋放磁盤空間 ,不管是 Innodb和MyISAM 。
      truncate table 其實有點類似於 drop table 然后create。只不過這個 create table 的過程做了優化,比如表結構文件之前已經有了等等,就不需要重新再搞一把。所以速度上應該是接近drop table的速度。
3、對於 delete from table_name  刪除表的全部數據
      對於MyISAM 會立刻釋放磁盤空間 (應該是做了特別處理,也比較合理);     InnoDB 不會釋放磁盤空間
4、對於 delete from table_name where xxx 帶條件的刪除
     不管是innodb還是MyISAM都不會釋放磁盤空間。

5、delete操作以后 使用 optimize table table_name 會立刻釋放磁盤空間。不管是InnoDB還是MyISAM 。
      所以要想達到清理數據的目的,請delete以后執行optimize table 操作。
6、delete from 表 以后雖然未釋放磁盤空間,但是下次插入數據的時候,仍然可以使用這部分空


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM