在长期的数据更改过程中,索引文件和数据文件,都将产生空洞,形成碎片。
我们可以通过一个nop操作(不产生对数据实质性影响的操作),来修改表。
比如:
原本表的引擎为innodb
alter table table_name engine=innodb
或者
optimize table 表名
也可以修复。
注意:修复表的数据以及索引碎片,就会把所有文件文件重新整理一遍,使之对齐。这个过程,如果表的行数比较大,也是非常耗费资源的。所以不能频繁操作。
如果表的update操作很频繁,可以按周/月来修复。如果不频繁,可以更长周期来修复。