MySQL执行delete之后,快速清理表占据的磁盘空间!
xpkdi
10年前
-- 收缩innodb存储引擎表的空间大小:
delete 了6000W日志表记录,但是表占据的文件大小一直没有变化。
后来,找到一招:
alter table xxxx engine=innodb;
搞定,而且速度很很快。
mysql> alter table order_action engine=innodb;
Query OK, 0 rows affected (0.62 sec)
Records: 0 Duplicates: 0 Warnings: 0
表里面有2000W记录,占据14G的ibd文件,只用不到一秒就搞定了。oh,my god!
[ps]:有些朋友说他这样操作很慢,大家也可以去试试看。