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表以后雖然未釋放磁盤空間,但是下次插入數據的時候,仍然可以使用這部分空間。 |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信