我有一张大桌面尺寸(约7GB)的innodb桌子, 我已经删除了大约80%的行, 问题是表格大小保持不变,
innodb_file_per_table为ON,
如何缩小表格大小以反映实际情况并节省更多磁盘空间?
答案 0 :(得分:0)
这取决于......
如果您使用innodb_file_per_table=ON
构建了表格,则可以立即执行OPTIMIZE TABLE
。 (确保它仍然是ON
。)
如果是=OFF
,则该表位于表空间文件ibdata1
中,将空间返回给操作系统的唯一方法是转储所有表,删除ibdata1,然后重新加载转储。这很乏味且有风险。同时,DELETEs
创建的可用空间将由未来INSERTs
等使用。
更多discussion大删除。