Mysql

Mysql - tablename.ibd 文件很大

  • October 14, 2019

我正在使用 MySQL 5.6,並且每個表的 innodb 文件已啟用。

我注意到一個名為 tablename.ibd 的文件是 211GB,然後查詢其中顯示 21GB 的資訊模式。

我在這張桌子上做了一個巨大的刪除操作。並每天歸檔一些舊數據。

是不是因為這個?優化表 - 命令是回收空間的唯一方法?

如果您啟用了 innodb_file_per_table,作業系統中唯一可以恢復並要求 MySQL 使用空間的方法是通過 OPTIMIZE TABLE 命令,您應該執行該命令,因為您可以通過 .ibd 文件和使用查詢以兩種方式查看數據。

為了回收空間,我建議執行無操作線上方案更改;

alter table {table_name} engine = innodb;

^ 上述 DDL 可以通過 pt-online-schema-change online 完成,但請務必在開始之前閱讀文件以避免意外行為。

引用自:https://dba.stackexchange.com/questions/246987