二編寫優良的程序代碼
處理數據離不開優秀的程序代碼尤其在進行復雜數據處理時必須使用程序好的程序代碼對數據的處理至關重要這不僅僅是數據處理准確度的問題更是數據處理效率的問題良好的程序代碼應該包含好的算法包含好的處理流程包含好的效率包含好的異常處理機制等
三對海量數據進行分區操作
對海量數據進行分區操作十分必要例如針對按年份存取的數據我們可以按年進行分區不同的數據庫有不同的分區方式不過處理機制大體相同例如SQL Server的數據庫分區是將不同的數據存於不同的文件組下而不同的文件組存於不同的磁盤分區下這樣將數據分散開減小磁盤I/O減小了系統負荷而且還可以將日志索引等放於不同的分區下
四建立廣泛的索引
對海量的數據處理對大表建立索引是必行的建立索引要考慮到具體情況例如針對大表的分組排序等字段都要建立相應索引一般還可以建立復合索引對經常插入的表則建立索引時要小心筆者在處理數據時曾經在一個ETL流程中當插入表時首先刪除索引然後插入完畢建立索引並實施聚合操作聚合完成後再次插入前還是刪除索引所以索引要用到好的時機索引的填充因子和聚集非聚集索引都要考慮
五建立緩存機制
當數據量增加時一般的處理工具都要考慮到緩存問題緩存大小設置的好差也關系到數據處理的成敗例如筆者在處理億條數據聚合操作時緩存設置為條/Buffer這對於這個級別的數據量是可行的
[] [] [] [] []
From:http://tw.wingwit.com/Article/program/SQL/201311/16293.html