我想用9000萬條記錄更新表。巨大表上的MySQL更新
例如:
UPDATE huge_table set field3 = CONCAT_WS(' ', field1, field2)
更新鎖定了一會兒表,我希望儘量減少時間鎖定量。
我應該填充臨時表來存儲值,然後從臨時表中分配它們嗎?或者我應該嘗試分批更新1000?也許是兩者的結合。
我想用9000萬條記錄更新表。巨大表上的MySQL更新
例如:
UPDATE huge_table set field3 = CONCAT_WS(' ', field1, field2)
更新鎖定了一會兒表,我希望儘量減少時間鎖定量。
我應該填充臨時表來存儲值,然後從臨時表中分配它們嗎?或者我應該嘗試分批更新1000?也許是兩者的結合。
我會批量運行更新。
您應該在不同的環境中執行類似的操作,並將表格重新指向新的數據集。
兩者都不是。你需要更新儘可能快。如果你創建一個臨時表,那麼你將會添加9000萬個插入和刪除。
考慮表分區。請參閱http://dev.mysql.com/doc/refman/5.5/en/partitioning-overview.html。
仍不確定使用什麼解決方案。 – Bryan