Mysql:什么是碎片表?我们为什么要对它们运行优化?

Mysql:什么是碎片表?我们为什么要对它们运行优化?,mysql,optimization,Mysql,Optimization,最近,我们开始优化一个从未遵循任何标准的数据库。 我们想做以下几件事 clean up of unused tables. optimizing data types and indexes. tuning slow queries. evaluating my.cnf configurations with mysqltuner.pl and similar ones 在这个过程中,我遇到了优化碎片表的问题。 这个碎片表是什么?它将如何影响功能和性能。 为什

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

    clean up of unused tables.
    optimizing data types and indexes.
    tuning slow queries. 
    evaluating my.cnf configurations with mysqltuner.pl and similar ones
在这个过程中,我遇到了优化碎片表的问题。 这个碎片表是什么?它将如何影响功能和性能。 为什么要在这些表上运行优化

我相信这根本不会影响功能。如果没有,请纠正我

提前感谢您的回复。 当做 UDAY

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

在这些碎片化的表上运行optimize命令将移动记录以消除表中的漏洞

在执行大量维护或更新操作(如批量删除)后,通常最好这样做