MySQL - 快速複製Table,Table名稱變更及互換

MySQL -  快速複製Table,Table名稱變更及互換

這次,我的需求是,將一個Table的資料倒到一個新Table裡(這是為了做出一個正在運行,一個則是處理中的Table),等處理完,就倒到運行中的Table去。

避免運行中Table在查詢時,會影響到我處理的速度,所以處理與運行的資料表分開方式。

而將處理完的,複製一份變成運行,則就需要快速複製Table的方式。

https://blog.longwin.com.tw/2013/08/mysql-copy-table-command-2013/

參考大大的文章。

語法測試過,可行,但這方法算久,但算是好用,可用的方法,倒過去1100萬筆,一小時內能完成,應該算不錯吧。

  • CREATE TABLE new_table LIKE old_table;
  • INSERT new_table SELECT * FROM old_table

另外我需要重新命名(有時候Table命名錯誤)

用以下指令

  • RENAME TABLE old_table TO new_table;

我需要將即將運行,與運行中的Table互換,使用以下指令。

  • RENAME TABLE old_table TO tmp_table,
    new_table TO old_table,
    tmp_table TO new_table;