Mysql

優化 MySQL 表的最快方法是什麼?

  • February 27, 2010

我已經針對龐大數據庫中的許多表(數億條記錄)執行了許多不同的 DELETE 查詢。什麼會更快 - 對每個修改的表執行 OPTIMIZE TABLE 。還是只是將 mysqldump 放入文件中,然後從文件中恢復?

認為這將是平等的。只是mysqldump | mysql會更快;)

OPTIMISE TABLE將更快,因為數據不必轉換為命令行客戶端使用mysqldump然後消化的文本格式。mysql

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

ALTER TABLE $table ENGINE innodb;

這將通過將所有行複製到新表空間並在完成後替換目前表來重建表。但是,在發生這種情況時,原始表不會阻塞讀取器。當然,在操作完成之前,寫入器將被阻止更新。

引用自:https://serverfault.com/questions/117386