如何通过InnoDB表空间碎片检查与收缩有效解决MySQL磁盘空间虚高问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计963个文字,预计阅读时间需要4分钟。
这不是误报,而是+InnoDB+表空间(包括共享表空间ibdata1或独立表空间.ibd文件)的实际现象:
典型表现包括:
-
SELECT SUM(data_length) FROM information_schema.tables WHERE engine='InnoDB'返回值远超du -sh *.ibd实际大小(对独立表空间)或du -sh ibdata1(对系统表空间) - 执行
OPTIMIZE TABLE后.ibd文件明显变小,但之前一直没变化 - 监控显示磁盘使用率持续上涨,但业务写入量稳定甚至下降
如何准确检查 InnoDB 表碎片率?
不能只看 Data_length,要结合页利用率和空闲页比例。
本文共计963个文字,预计阅读时间需要4分钟。
这不是误报,而是+InnoDB+表空间(包括共享表空间ibdata1或独立表空间.ibd文件)的实际现象:
典型表现包括:
-
SELECT SUM(data_length) FROM information_schema.tables WHERE engine='InnoDB'返回值远超du -sh *.ibd实际大小(对独立表空间)或du -sh ibdata1(对系统表空间) - 执行
OPTIMIZE TABLE后.ibd文件明显变小,但之前一直没变化 - 监控显示磁盘使用率持续上涨,但业务写入量稳定甚至下降
如何准确检查 InnoDB 表碎片率?
不能只看 Data_length,要结合页利用率和空闲页比例。

