如果您的应用程序正在对MySQL数据库执行大量删除和更新操作,那么您的MySQL数据文件很有可能会碎片化。这将导致大量未使用的空间,也可能会影响性能。因此,强烈建议您持续对MySQL表进行碎片整理。本教程说明了如何优化MySQL来对表进行碎片整理并回收未使用的空间。
1.确定要优化的表
第一步是确定MySQL数据库上是否有碎片。
连接到MySQL数据库,并执行以下查询,该查询将显示每个表中有多少未使用的空间可用。
在上面的输出中:
这将显示所有具有最少500MB未使用空间的表的列表。如上所述,在此示例中,有3个表的未使用空间超过500MB。
data_length_mb列以MB为单位显示表的总大小。例如,EMPLOYEE表的大小约为21GB。
所有这三个表(员工,部门和福利)都非常分散,需要对其进行优化以回收未使用的空间。
data_free_mb列显示该特定表中未使用的总空间。例如,EMPLOYEE表中大约有19GB的未使用空间。
在文件系统级别,您可以看到各个表文件的大小,如下所示。
文件大小将与上面输出中“ data_length_mb”列下看到的大小相同。