2012-12-18 116 views
2

因爲我想從一個表複製5列轉移到另一個表中同一MySQL數據庫數據庫更新。兩個表具有相同數量的行,每行都有一個ID,兩個表中的ID相同(所以我想合併這些表)。我目前的做法是通過以下更新語句這樣做:MySQL的:從一個表列的快速複製到另一個

update table_a, table_b set 
    table_a.column1 = table_b.column1, 
    table_a.column2 = table_b.column2, 
    ... 
    where table_a.id = table_b.id 

我想知道是否有做這一個更快的方法,因爲它需要一些時間大表。

感謝您的幫助, 邁克爾

+0

表都包含相同的列嗎?我的意思是名稱和列數 –

+0

@FathahRehmanP表A有額外的列,表B中的所有列應複製到表A – Michael

+1

如果在兩個表中對id進行索引,則上述查詢應該更快。 – thavan

回答

1

我不知道有多大的差別就會使,但你可以嘗試插入 - 選擇[開備用鑰匙...]代替。 http://dev.mysql.com/doc/refman/5.1/en/insert-select.html

一般寫入數據是一個緩慢的過程。硬盤本身就是瓶頸。

+0

請注意,如果您有一個共同的主鍵,這將只是一個可行的選項。但是,如果我從評論中正確閱讀,你就可以。這種方法看起來更清晰,特別適合將兩個表合併成第三個表。 –

相關問題