1
我有以下查詢,我需要運行更新約25M行的表。如何優化25M行上的批量sql更新
UPDATE cast_info SET movie_url =
(SELECT imdb_id FROM title WHERE title.id = cast_info.movie_id)
是否有我需要運行此查詢之前在MySQL中改變任何事情或變量,所以不是說花10個小時,只需要八?
我有以下查詢,我需要運行更新約25M行的表。如何優化25M行上的批量sql更新
UPDATE cast_info SET movie_url =
(SELECT imdb_id FROM title WHERE title.id = cast_info.movie_id)
是否有我需要運行此查詢之前在MySQL中改變任何事情或變量,所以不是說花10個小時,只需要八?
試試這個
UPDATE cast_info as ci inner join title as ti on ti.id = ci.movie_id
SET ci.movie_url =t.imdb_id
什麼25M的行%有** ** imdb_id是從以前的值不同?我問這是因爲UPDATE邏輯優化了不變更新。在這種情況下,根據@ MMadhivanan的建議執行內部連接將佔據主導地位,這裏的索引將非常關鍵。 – TerryE 2012-07-24 00:46:23