什么是优化MySQL表的最快方法?

我已经对庞大的数据库(数亿条logging)中的许多表执行了许多不同的DELETE查询。 什么会更快 – 针对每个修改表运行OPTIMIZE TABLE。 或者只是为了mysqldump进入文件,然后从文件恢复回来?

认为这将是平等的。 只是mysqldump | MySQL会更快;)

OPTIMISE TABLE会更快,因为数据不需要转换成mysqldump使用的文本格式,然后被mysql命令行客户端消解。

如果你使用的是InnoDB那么你可以做另一个窍门,

 ALTER TABLE $table ENGINE innodb; 

这将通过将所有行复制到新的表空间并在完成后replace当前表来重build表。 但是,在发生这种情况时,原始表格将不会阻止读者。 作家当然会被阻止更新,直到操作完成。