1. 從文本文件中讀取數據
在這一步中,SSIS建立了一個對源文件的連接并讀取數據。記錄讀取的速度很大程度上依賴于SSIS的外部因素,如磁盤速度,I/O資源爭奪,網絡速度,以及計算機資源。
盡管這些因素對于SSIS應用來講是外部的,還是需要了解他們是如何影響整體性能的。如果在這步中出現了性能瓶頸,你就需要考慮另外的方法了。例如,減少I/O資源爭奪,將源文件分開,然后使用順序讀操作。
2. 將文本文件中的數據加載到SSIS 數據管道中
在這一步中,SSIS解析源文件,并讀入名叫緩存的SSIS內存構造中。在設計時,通過收集象數據類型,排序,解析路由等元數據,SSIS建立了解析文件的規則。在運行時,文件根據這些規則被讀取和解析。這些規則越精確,這一過程就越有效率。 3. 聚合數據
在這一步中,SSIS把已經讀入SSIS數據管道中的數據進行了聚集。為了執行這一聚集,SSIS創建了一個緩存,你可以將此緩存設置成幫助提高性能,并且使SSIS利用的內存資源最大化。 4. 在SQL Server打開一個事務
在數據聚集完成后,一系列后續步驟使SSIS把聚集的數據讀入到目標的SQL Server數據庫表中。
從這點看,所有在SQL Server 中建立的幫助優化批量讀取的最佳實踐都會生效,例如設置數據庫恢復模型,啟動快速讀取,使用表鎖定,并且配置提交大小。 5. 將數據傳遞到SQL Server界面 6. 將數據讀入每個SQL Server目的表 7. 提交事務
優化操作
對于這一序列中的每一步操作,你都可以使用性能分析,來指導你尋找優化和提升整個過程的機會。例如,在操作2種,當SSIS從文本文件中把數據讀入數據管道時,所有的字段都被讀成字符串類型,甚至當里面包含整數時也是。如果你的目的是使用已命名,確定類型的列將這一文件讀入到的SQL Server目標數據表中,數據轉換必須在數據讀取的某個過程中就進行了。
為了減少數據集的大小,提升整體數據讀取的性能,你可以在這一操作過程的早期就設置數據類型。在表1給出的例子中,對數據設置類型的最佳時間是操作2的過程中,當文件被讀入到SSIS數據管道時。如果你不在這時設置數據類型,數據就將以其原始的字符串狀態轉過所有的步驟,直到它被讀入SQL Server前才被完成了轉換。
今后再調整文件解析,你也可以獲得操作2中SSIS快速解析模型的好處。這一模型對包含一般數據格式的簡單數據讀取使用快速的解析路由,而并不需要特定的現場解析,這一格式不包含特殊的字符,也不包含十六進制字符。
數據類型優化并不僅僅適用于文件數據源。在SSIS數據讀取過程的早期適當的設置數據類型,能夠對所有的數據源都帶來性能方面的好處。
這只是一個你可以優化數據讀取操作的例子。你可以將這一方法在整個過程中的每一步都實施,你就可以為每個性能考量確定出更好的設計方法。
容量
容量是第二個關鍵,重要的性能影響因素。高級別的容量會對系統的資源,如內存和CPU產生更大的影響。你越是理解容量是怎樣對你的數據操作產生影響的,你就越可以調整這些資源的應用,從而產生更有效率的操作。
文章來源于領測軟件測試網 http://www.kjueaiud.com/