我有超過百萬條記錄的表。SSIS OLEDB SQL命令執行緩慢
- 當我執行我的SSMS查詢約需1:24不到2分鐘,確保在任何時間點,並返回60萬左右的記錄。
- SSIS花費了幾個小時的時間,事實上我只能導出一次。
下面是示例SQL:
SELECT distinct
A.Col1, A.Col2, A.Col3, A.Col4, A.Col5, A.Col6, A.Col7, B.Col3
FROM tblA A
inner join tblB B on A.Col1 = B.col1 and
A.Col2 = 'AB' AND A.Col3 Not In ('A','B','C') AND
A.Col3 In ('FPC','FPE','PRN','SUB','RVW','FPO','FEV','PRM')
注:索引做存在在選擇SQL查詢中的所有列(和where子句中提到的列)。
在SSIS中,
- 我有控制流數據流任務。
- OleDB Source with SQL query command。
- OleDB目的地tbl。
什麼可能導致SSIS延遲?
SSIS執行是否與源服務器和目標服務器在同一臺計算機上運行,或者是通過網絡進行的部分操作? – RBarryYoung 2013-02-25 22:55:46
目標服務器正在執行或在網絡上,但執行sql需要很長時間(SSIS執行主機與源相同的機器)。 – user1810575 2013-02-25 23:05:57
有什麼建議?我不能在這裏使用Execute sql任務,因爲源和目標服務器/ db是不同的。 – user1810575 2013-02-25 23:34:55