2014-03-12 29 views
0

我需要加入2代表與下文提到的解決方案的20多萬reocrds.Which費用情感是好的合併連接或查找這是在SSIS

1 one Oledb componet and a lookup component 

2 Two oldeb componets,2 sort componets and a merge join componets 
+2

從我的個人經驗來看, 查找表大小應該更小以獲得最大的性能增益。我寧願用T-SQL來加入提示。 – Zerotoinfinity

+0

我同意。如果數據位於同一臺服務器上,請首先使用T-SQL將其加入到服務器中。此外,合併連接可能會導致多個結果(如果有多個記錄匹配),而查找不會導致它們實際執行不同的操作 –

回答

1

依賴其中包括查找表中需要的字節數。如果你要進行合併連接,那麼通過按鍵讀取sql排序可能是一個好主意,然後直接連接到合併連接轉換。

+0

您是否建議使用T-SQL連接?如果我使用合併連接,那麼我必須使用排序組件rt?排序也非常昂貴 – user1254579

+1

除非您的查找可以被緩存,即給出20M行的記錄大小非常小,似乎加入是一個更好的主意。您可能還想要探索一個基於sql命令的完整解決方案,不僅僅是排序,還包括聯接。 – Jayvee

0

當有很多記錄時,查找選項會更好:由於它是一個同步轉換,因此可以提供更好的性能。