2012-06-19 43 views
1

我有一個需要在SQL Server中加載的平面文件。爲此我必須使用SSIS。現在我想知道哪些事情可以幫助我以最快的方式加載這些文件:在ssis中加載平面文件的最快方法

  1. 我應該使用平面文件管理器還是腳本任務來加載平面文件? (,因爲在我的question之一,我得到了一個答案,指出腳本任務加載速度更快
  2. 目標(ADO.NET或SQL Server)?
  3. 平面文件的任何其他設置/最佳實踐,我可以用更快的方式加載文件?
+0

在我看來,這取決於遊戲的結局。當我需要發送帶有附加日誌文件的通知郵件時,SSIS一直是我使用的一個很棒的工具。您能否向我們提供有關您要導入的數據類型的更多信息?大小?我經常使用Flat文件連接管理器,很少或沒有問題。這是你需要重複的東西嗎? –

+0

@Kris我從這些源代碼平面文件創建一個倉庫,所以一些包會消耗尺寸提要文件,它們的目標將是* char *或* varchar *。另一方面,事實饋送將有*數字*數據,在這種情況下,我需要進行數據類型轉換。所以,我可能會有混合的情況。 – Zerotoinfinity

回答

1

我認爲,爲了實現你的目標,SSIS將是一個很好的選擇。它允許更多的靈活性。至於使用平面文件管理器/腳本,腳本總是會給你更好的性能,但我使用SSIS,因爲它使事情變得更容易導航(或修復)。我相信很多死硬的SQL開發人員會告訴你編寫腳本,但我發現任何一種方法都可行。

就目的地而言,我專門使用SQL Server,所以我不能說你的問題的那部分。

在我看來,最佳實踐儘可能地簡單。越容易讓事情得到更好的表現。在SSIS工作的3年中,我總是盡最大努力優化任何查詢,然後將其放入SSIS中。

這聽起來像你只是在這些文件上做一個簡單的ETL,如果是這樣的話,我推薦SSIS根據我的經驗。一旦你加載了所有的東西,你可以修改你的char,varchar和int的不同情況的數據類型。

希望這會有所幫助!

1

以下是Microsoft如何使用SSIS在30分鐘內加載1TB的參考。

當您說腳本執行速度更快時,我感到很驚訝,因爲Microsoft使用平面文件來源和OLEDB目標。他們還通過將加載過程分解爲更小的塊並對目標表進行分區並使用非常好的調優硬件來優化負載。但是,如果我不得不從SSIS加載大型數據集,那麼他們在SSIS包中使用的技術就是我會用到的。

(Microsoft) We Loaded 1TB in 30 Minutes with SSIS, and so can you

相關問題