2017-03-04 40 views
2

更好,我用SSIS傳送數據和我用SQL服務器2016我需要在我數據流任務使用一些查找組件,如果我不能找到比賽中,我應該將記錄保存爲一張表中的信息。 這意味着如果對於每個查找組件我找不到相關記錄,我必須將該行保存在表中。哪種方法保存的錯誤在SSIS

我必須鍵入DataFlow設計,我想知道哪一個比其他更好?

您可以在下面的圖像中看到DataFlow設計。

在這種模式下,我使用兩個獨立的OLE DB目的地,但在兩者中,我都將信息保存在同一個表中。 enter image description here

在此模式中,我使用聯合所有組件聯合所有記錄並將它們同時保存在目標表中。 enter image description here

我想知道哪種設計比另一種更好,每種設計的優缺點是什麼?

回答

2

爲了獲得更好的性能和其他的東西,最好是使用UNION ALL因爲:

  1. UNION ALL是開放與數據庫(打開一個連接每個OLEDB目的地等情況)

  2. 一個連接

    如果程序包失敗由Lookup產生的數據將被插入OleDB Destination並且程序包失敗,因此重新啓動數據時可能會重新插入。

  3. 它不是創建多個OLEDB Destination同一個表是一個好主意,它會降低性能由於(表獨佔鎖)每個插入等待別人做

+1

其次呢。添加 - ** OLE DB目標**的表鎖定速度非常快,這意味着單個目標。 – Ferdipux