最近,我们开始优化一个从未遵循任何标准的数据库。我们想做以下几件事。
clean up of unused tables.
optimizing data types and indexes.
tuning slow queries.
evaluating my.cnf configurations with mysqltuner.pl and similar ones在这个过程中,我遇到了优化碎片表的问题。这个零碎的表是什么,这将如何影响功能和性能。为什么我要在这些表上运行优化...?
我相信这完全不会影响功能。如果不是,请纠正我。
提前感谢你的回复。向您致敬,乌代
发布于 2012-04-03 14:10:31
当您删除记录(或更新它们以使其更小)时,表中将有“洞”,即空数据块。如果新数据适合这些空洞,这些数据将被填充,但根据您如何使用表,可能会有大量的浪费空间剩余。这并不好,因为您现在需要从磁盘读取更多的块,以获得相同数量的有用信息。
在这些零碎的表上运行optimize命令将移动这些记录,以去除表中的漏洞。
在执行大量的维护或更新操作(例如批量删除)之后,这样做通常是一个好主意。
https://stackoverflow.com/questions/9987882
复制相似问题