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

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

我已经对大型数据库(数亿条记录)中的许多表运行了许多不同的 DELETE 查询。哪种方法更快 - 对每个修改的表运行 OPTIMIZE TABLE。还是仅将 mysqldump 到文件中,然后从文件中恢复?

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

答案1

OPTIMISE TABLE将会更快,因为数据不需要转换为命令行客户端使用的文本格式mysqldump并进行消化mysql

如果你正在使用,InnoDB那么你可以做另一个技巧,

ALTER TABLE $table ENGINE innodb;

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

相关内容