首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql -表中的Data_free值不能减少

Mysql -表中的Data_free值不能减少
EN

Server Fault用户
提问于 2022-07-13 10:57:30
回答 1查看 158关注 0票数 0

我们有一个大型的MySQL5.7生产表。我们试图降低Data_free值。

我们通常只是在各种数据库表上运行优化命令,将其缩小到7MG大小。但是,对于一个表,我们无法做到这一点(我们正在使用innodb_file_per_table)。

是否有办法迫使系统将值降到正常大小?

显示表状态

EN

回答 1

Server Fault用户

发布于 2022-07-13 17:52:05

你在用ENGINE=InnoDB吗?该表是否已分区?

MySQL的InnoDB在预期插入新行时分配“区段”。这通常(并不总是)显示为Data_free正好是4MB、5MB、6MB或7MB。你无法摆脱它。

你注意到OPTIMIZE TABLE很少缩小任何一张桌子吗?您注意到了吗?操作阻止了桌面上的其他活动吗?通常,对于InnoDB表来说,该命令是无用的。

Data_free是衡量“碎片”和其他“空闲”空间的唯一可见指标。别为这事烦恼。

一个PARTITIONed“表”由多个“表”组成,每个分区一个。每个子表都可能有一些Data_free。因此,整个分区表可以有一个更大的Data_free。同样,这个Data_free不能缩小(少数情况除外)。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1105470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档