我有一個簡單的SSIS包,可以將源和目標之間的數據從一臺服務器傳輸到另一臺服務器。爲什麼添加另一個LOOKUP轉換會顯着降低性能SSIS
如果它的新記錄 - 它插入,否則它會檢查HashByteValue
列,並且它是否與它的更新記錄不同。
表包含大約150萬行,並更新大約50列。
當我開始調試包時,大約2分鐘沒有任何反應,我甚至看不到綠色的複選標記。之後,我可以看到數據開始流經,但有時會停止,然後再次流動,然後再次停止,等等。
整個包裝看起來是這樣的:
但如果我這樣做只是INSERT
部分(不包括更新),那麼它完美的作品,1分鐘,所有150萬條記錄的目標表。
那麼,爲什麼增加另一個LOOKUP
改造包,更新記錄會降低性能,從而顯著。 這是與內存有關嗎?我在lookups
中使用FULL CACHE
選項。
什麼是提高性能的方法?
的原因可能是在自動增長文件大小:
有疑問時,跟蹤! – ajeh
增加數據和日誌的自動增長到100MB,看看是否有幫助。1MB太小了。您很少應該使用默認的10%用於Autogrowth。 –
我編輯了我的帖子。您可以看到數據庫的自動增長。謝謝 – Oleg