2012-04-18 57 views
0

我每天從我的源中獲取600,000行,並且需要將它們轉儲到SQL Server目標中,這將成爲增量加載。在ssis中增量加載的最佳方式

現在,由於目標表大小可能會逐日增加,這將是增量負載的最佳方法。我在我的腦海幾個選項:

  1. 查找任務
  2. 合併加入
  3. SCD

    等。

請給我建議,這將表現良好的最佳選擇在增量負載。

回答

1

如果你只需要插入它們,它並不重要。 如果你需要檢查類似的東西,如果存在,更新else插入,我建議創建一個oleDbSource查詢你的600.000行,並檢查它們是否存在與現有數據源上的查找任務。由於現有的數據源是(或傾向於)巨大的,請注意配置緩存模式的方式。我會去部分緩存與一些內存限制,你正在查找的ID(這是非常重要的基於緩存的工作方式)

2

合併連接是一個巨大的性能問題,因爲它需要對所有記錄進行預先排序,不應該用於此目的。

我們每天一般處理許多百萬的記錄文件將它們放置在一個臨時表,做一個散列比較,在我們更改數據跟蹤表中的數據,看看數據是從什麼是對PROD不同,然後只加載新的或不同的。因爲我們在生產數據庫之外進行比較,所以我們對生產的影響很小,因爲除了檢查數百萬條記錄以外,我們只處理實際需要的247個記錄。事實上,對於我們最繁忙的服務器,除了最後一步即將完成之外,所有這些處理都發生在單獨的服務器上。

+0

那麼,在這種情況下,你推薦哪些任務供我使用? – Zerotoinfinity 2012-04-18 21:16:14