首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql:什么是碎片表,为什么我们要在它们上运行优化?

Mysql:什么是碎片表,为什么我们要在它们上运行优化?
EN

Stack Overflow用户
提问于 2012-04-03 14:04:14
回答 1查看 507关注 0票数 3

最近,我们开始优化一个从未遵循任何标准的数据库。我们想做以下几件事。

代码语言:javascript
复制
    clean up of unused tables.
    optimizing data types and indexes.
    tuning slow queries. 
    evaluating my.cnf configurations with mysqltuner.pl and similar ones

在这个过程中,我遇到了优化碎片表的问题。这个零碎的表是什么,这将如何影响功能和性能。为什么我要在这些表上运行优化...?

我相信这完全不会影响功能。如果不是,请纠正我。

提前感谢你的回复。向您致敬,乌代

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-03 14:10:31

当您删除记录(或更新它们以使其更小)时,表中将有“洞”,即空数据块。如果新数据适合这些空洞,这些数据将被填充,但根据您如何使用表,可能会有大量的浪费空间剩余。这并不好,因为您现在需要从磁盘读取更多的块,以获得相同数量的有用信息。

在这些零碎的表上运行optimize命令将移动这些记录,以去除表中的漏洞。

在执行大量的维护或更新操作(例如批量删除)之后,这样做通常是一个好主意。

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

https://stackoverflow.com/questions/9987882

复制
相关文章

相似问题

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