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.
|