mysql 碎片率_为什么所有MySQL InnoDB表都碎片化了?

出于某种原因,当我运行

mysqltuner时,我的

MySQL服务器中的所有InnoDB表都被列为碎片.我几小时前才安装了服务器(在OSX Lion上),它有一堆从批处理文件中导入的新数据.

我尝试将一个数据库中的所有表转换为MYISAM,确定碎片表的数量已经下降了.奇怪的是,只要我将这些表格转换回InnoDB,碎片表计数就会重新开始.这与我迄今为止的研究相反,这表明运行ALTER TABLE table_name ENGINE = INNODB;应该修复碎片.

经过一段谷歌搜索,我跑了:

SELECT table_schema, table_name, data_free/1024/1024 AS data_free_MB

FROM information_schema.tables

WHERE engine LIKE 'InnoDB' AND data_free > 0

据说列出了所有碎片表(它确实返回与碎片表计数的mysqltuner输出相同数量的结果).每个条目在data_free_MB列中具有完全相同的编号(当前为7.00000000).

这实际上是一个真正的问题还是mysqltuner做错了什么?如果是问题,我该如何解决?

编辑

我变得越来越怀疑我是一个白痴,7MB碎片是针对整个文件的,而不是每张桌子.任何人都可以确认是否会出现这种情况?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值