MySQL,删除inno表不会减少表大小

时间:2017-02-07 02:47:23

标签: mysql innodb

我有一张大桌面尺寸(约7GB)的innodb桌子, 我已经删除了大约80%的行, 问题是表格大小保持不变,

innodb_file_per_table为ON,

如何缩小表格大小以反映实际情况并节省更多磁盘空间?

1 个答案:

答案 0 :(得分:0)

这取决于......

如果您使用innodb_file_per_table=ON构建了表格,则可以立即执行OPTIMIZE TABLE。 (确保它仍然是ON。)

如果是=OFF,则该表位于表空间文件ibdata1中,将空间返回给操作系统的唯一方法是转储所有表,删除ibdata1,然后重新加载转储。这很乏味且有风险。同时,DELETEs创建的可用空间将由未来INSERTs等使用。

更多discussion大删除。