在长期的数据更改过程中,索引文件和数据文件,都会产生空洞和碎片,会降低索引的运行效率
查看碎片
SHOW TABLE STATUS LIKE '表名';
当Data_free 列值大于0时表示有碎片
修复方法
1. alter table xxx engine innodb/myisam
例如之前表的引擎是innodb,执行 alter table xxx engine innodb ,还是可以起到修复碎片作用的
2. optimize table 表名
这两种方法都会把所有的数据文件重新整理一遍,使之对齐
这个过程是比较耗资源的,不要频繁操作,可以按月为单位操作