2016-09-08 91 views
0

我將數據插入到ssis的Table1中。數據加載非常緩慢每分鐘(5-10K記錄)插入我已經選擇目標任務中的快速加載選項,該選項也沒有幫助我。SQL數據通過ssis緩慢插入

在另一個表(Table2)的同一個服務器中,數據加載正在非常快速地發生,這與數據表1相比具有更多的數據和更多的索引。

爲什麼Table1數據插入緩慢?

請幫幫我。

+0

表定義,索引,觸發器等? – jarlh

回答

0

減緩加載包的原因可能是多種多樣的。通常,它們與內存,目標,索引,日誌記錄等有關。您是否嘗試過等效查詢的性能?如果這樣更好,您可以使用Execute SQL Task而不是data flow task

在您的軟件包中,您是否有OLE DB Command轉換或其他完全阻止轉換,如fuzzy lookupfuzzy grouping?由於OLE DB Command轉換是逐行進行的,所有完全阻塞的轉換都會產生大量開銷。

看來您正在使用OLE DB目的地,因此您可以相應地更改MICS(最大插入落實大小)和RPB(每批的行)。如果在目標表上有聚簇索引,則由於該事件是大批量會對內存產生負面影響。

+0

感謝您的回覆。 我使用oledb源和oledb目標我保留了選項話筒(1000000)和RPB(100000)。在源和目標之間我使用查找來避免重複。 總共5個索引(非集羣)應用在表上我禁用索引並加載,插入發生得非常快。如果啓用了一個索引,那麼數據插入的速度也很慢。有什麼我需要檢查索引 –