2012-04-05 16 views
0

插入數據的表我有一個包含3萬盧比(300,000)記錄有7列的文本文件。我將數據插入登臺表中,然後執行業務邏輯以從那裏將數據插入到多個表中。如何提高性能在SS​​IS

文件看起來是這樣的:

01|000001111|27/04/2011|12/01/2012|ISDF|AB|1  
02|000002222|09/01/2010|29/01/2010|CfGH|CV|1  
03|000003333|19/07/2005|09/07/2007|TBRF|CC|1 

臨時表被稱爲Stagetable

我使用平面文件源和OLEDB目的地其採取7小時以上數據只插入到臨時表。我需要提高性能。

我第一次使用SSIS包。

任何關於如何提高性能的建議都會很棒。

感謝 王子

+0

你能提供更多關於什麼是平面文件的信息嗎?你的桌子是什麼樣的?你正在執行什麼樣的業務邏輯?我認爲我們還需要一點點才能對您的問題有所幫助。 – 2012-04-05 02:18:01

+0

需要查看的東西,如果尚未使用批量插入任務。 http://msdn.microsoft.com/en-us/library/ms141239.aspx此外,請確保您的登臺表處於簡單模式 - 減少日誌記錄會提高速度並且不需要登臺表。 – avgbody 2013-02-28 19:12:05

回答

0

下應該幫助;

-move處理之前,您的文件接近你的目標(即在同一個盒子),以避免網絡延遲

- 部署和從SQL Server中運行你的包,沒有Visual Studio的

- 使用SQL Server目標,而不是OLE DB作爲目標,以便更快裝載

- 開關關閉約束檢查的目標組件

- 確認目標表上沒有發生滷味昂貴觸發器廣告

- 考慮使用批量插入任務,如果你不需要進行任何改造

0

3 LACS只有30萬和字段/行看起來並不特別寬無論是。這是相當小的數字,導致任何問題。

嘗試找出瓶頸在哪裏 - 在源或目標?如果源代碼是瓶頸,那麼可以拆分文件並將它們分成獨立但相同的登臺表(如stg_1,stg_2等),然後並行加載它們。

如果目的地是瓶頸,你可以使用平衡數據發佈者,並把他們分爲不同的臨時表。

同樣,這一切似乎只是300K行矯枉過正。

確保你沒有對臨時表(一個或多個)的任何索引。我們很樂意聽到您的所作所爲,所做的工作以及您的解決方案。