我使用的是MySQL 5.6,每个表都启用了innodb文件。
我注意到一个名为tablename.ibd的文件是211 it,然后查询它显示的21 it的信息模式。
我在这张桌子上做了一个巨大的删除操作。每天归档一些旧数据。
是因为这个吗?优化表命令是回收空间的唯一方法?
发布于 2019-09-04 23:36:55
如果您已经启用了innodb_file_per_table,操作系统中唯一能够恢复并要求MySQL使用的空间的方法是通过优化表命令,您应该运行该命令,因为您可以通过.ibd文件和使用查询两种方式平等地查看数据。
发布于 2019-10-14 11:04:04
为了收回空间,我会建议运行一个不操作的在线方案改变;
alter table {table_name} engine = innodb;
^上面的DDL可以使用pt- online模式更改在线完成,但请确保在开始之前读取文档,以避免意外行为。
https://dba.stackexchange.com/questions/246987
复制相似问题