優勢:sql
一、存儲過程可使得程序執行效率更高、安全性更好。數據庫
二、創建過程不會很耗系統資源,由於過程只是在調用才執行。安全
三、存儲過程能夠用於下降網絡流量,存儲過程代碼直接存儲於數據庫中,因此不會產生大量T-sql語句的代碼流量。服務器
4.可重複使用,由此能夠經過使用遠程過程調用 (RPC) 處理服務器上的存儲過程而提升性能(只需傳入參數值便可)。網絡
五、可維護性高,更新存儲過程一般比更改、測試以及從新部署程序集須要較少的時間和精力。性能
六、代碼精簡一致,一個存儲過程能夠用於應用程序代碼的不一樣位置。測試
七、加強安全性:資源
a、經過向用戶授予對存儲過程(而不是基於表)的訪問權限,它們能夠提供對特定數據的訪問;部署
b、提升代碼安全,防止 SQL注入(但未完全解決,例如,將數據操做語言--DML,附加到輸入參數);效率
c、SqlParameter 類指定存儲過程參數的數據類型,做爲深層次防護性策略的一部分。
缺點:
一、大量的利用過程,會對服務器壓力比較大。
二、可移植性差。