2016-07-30 83 views
1

我將有兩個結構相同的表,其中一個具有舊數據和新數據,另一個臨時表僅包含新數據,我將對其進行一些進一步處理。重新載入數據或從表插入數據?

是否比load data local infile兩次更好/更快,還是應該只加載到臨時表中,然後select *並插入到另一個表中?

回答

1

當你說應該...這意味着你有一些標準。你需要讓進口運行更快嗎?或者讓編寫代碼變得容易?或者保留你在臨時表中做的數據更改?

我可能會傾向insert into <finaltable> select * from <temptable>

  • 這很容易編碼。
  • 如果您對臨時表中的數據進行了任何更改(即使您在加載數據時隱式更改以符合數據類型格式),這些更改也會保留。
  • 它可能運行得很快。儘管性能總是隨着您的系統硬件,併發查詢負載等而變化,請運行您自己的速度測試。

但是這個問題沒有正確的答案。這取決於你想要完成的事情。