mysql釋放空間
mysql釋放空間
生產系統中有些表使用delete刪除了一些行後,發現空間並未釋放
產生原因:類比Oracle的高水位線產生原理
解決辦法:
方法1:
執行 OPTIMIZE TABLE 表名;
注意:
1.OPTIMIZE TABLE只對MyISAM, BDB和InnoDB表起作用;
2.OPTIMIZE TABLE會產生鎖,推薦在業務低峰時執行;
3.對於DDL頻繁的表,定期執行OPTIMIZE TABLE
方法2:
寫一SQL,創建新表,刪除舊表,新表重命名;
old_tables create new_table;
truncate table old_tables;
rename new_tables to old_tables.