我有兩個表:SSIS 14 - 臨時區域 - 合併兩個源正在採取了很多時間
- 表A:631個476行
- 表B:12個90行
Eache Table具有我想將其用作鍵入合併對象的字段ID。在下圖中可以看到進程在合併對象之前被阻塞。我已經使用Merge Join對象進行了測試,結果相同...
爲了使用SSIS 14進行此操作,還有哪些其他可能性?
謝謝!
我有兩個表:SSIS 14 - 臨時區域 - 合併兩個源正在採取了很多時間
Eache Table具有我想將其用作鍵入合併對象的字段ID。在下圖中可以看到進程在合併對象之前被阻塞。我已經使用Merge Join對象進行了測試,結果相同...
爲了使用SSIS 14進行此操作,還有哪些其他可能性?
謝謝!
如果兩個源表都在同一個服務器中,請不要使用這種方式。你應該簡單地在SQL Server端寫一個查詢。
事情是這樣的:
SELECT *
FROM [Table A]
INNER JOIN [Table B] ON [Table A].ID = [Table B].ID
ORDER BY ...
由於詹姆斯·塞拉說:When to use T-SQL or SSIS for ETL
我在加入或合併SSIS時遇到了問題。我將寫入TSQL版本並執行SQL任務。它總是以這種方式跑得快得多。
好的,排序600K行將比排序13K行花費更多的時間。在合併甚至開始之前,這兩種排序都需要完成。考慮在源代碼中進行排序,因此您不需要在SSIS中進行排序步驟(這可能需要調整元數據,以便SSIS不會丟失源已經排序的信息);數據庫服務器在這方面更有效率。事實上,您的流程看起來非常簡單,以至於實際合併的所有內容都可以使用SQL完成。 –