iv 批次執行SQL避免多次往返
v 如果沒有數據返回則使用ExecuteNonQuery方法
vi 當返回一個標量時使用ExecuteScalar方法
vii 不要在運行時間使用CommandBuilder盡管很省事但是開銷很大
) 存儲過程
i 盡量使用存儲過程
ii 對於OleDbCommand指令類型為CommandTypeText
iii 使用SqlCommand指令類型為CommandTypeStoredProcedure
iv 盡可能使用輸出參數
v 考慮在SQL Server中SET NOCOUNT ON即關閉SQL Server的記數功能
) 事務
) 使用參數
i 在存儲過程上使用參數
ii 創建參數並指定類型
iii 可將參數對象進行緩存
) DataReader和DataSet
i DataReader對象需要關閉
ii 用DataReader時應使用CommandBehaviorCloseConnection關閉連接
iii DataReader應用在只讀只向前翻滾的數據訪問場景
iv 只想快速訪問數據不需要緩存功能應使用DataReader
DataSet在需要數據緩存並在不同層間傳遞時使用它可以存放多個結果集可以在離線的情況下自由定位查找數據
總的來說提高性能會降低可擴展性以及維護難度應在滿足功能與非功能需求的情況下提高性能
[] []
From:http://tw.wingwit.com/Article/program/net/201311/15083.html