[英]Best practice with mysql innodb to rename huge table when table with same name already exist
我使用Mysql 5.5 .. + INNODB和Windows服務器。
案例(簡單,然后真實案例):
我有2個表1GB,名稱為new_car
, car
表為1GB。
我每10個小時用new_car
表替換car
表不是手動(自動代碼) - 快速(真正的網站數據)很重要。
我讀過(比如在innodb中刪除它的問題): http : //www.mysqlperformanceblog.com/2011/02/03/performance-problem-with-innodb-and-drop-table/
解決方法1:
DROP TABLE car;
RENAME TABLE new_car TO car;
解決方案2(最后放棄 - 可能不會阻止表訪問丟棄期間發生的情況):
RENAME TABLE car TO temp_car;
RENAME TABLE new_car TO car;
DROP TABLE temp_car;
解決方案3(截斷快速刪除表並創建空表然后可能會非常快速地刪除操作):
TRUNCATE TABLE car;
DROP TABLE car;
RENAME TABLE new_car TO car;
Solution4:
RENAME TABLE car TO temp_car;
RENAME TABLE new_car TO car;
TRUNCATE TABLE temp_car;
DROP TABLE temp_car;
哪種解決方案最好,為什么還是請寫其他更好的解決方案?
謝謝
我不明白為什么你會把桌子丟棄。 你總是想要那兩張桌子而你(我假設要重新填滿New_Car表...
RENAME TABLE car TO temp_car;
RENAME TABLE new_car TO car;
TRUNCATE TABLE temp_car;
RENAME TABLE temp_car TO new_car;
RENAME TABLE car TO temp_car, new_car TO car;
TRUNCATE TABLE temp_car;
DROP TABLE temp_car;
使用替換它需要5分鍾或使用負載infile批量它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.