oracle的存儲過程優缺點
1.存儲過程可以使得程序執行效率更高、安全性更好,因為過程建立之后 已經編譯並且儲存到數據庫,直接寫sql就需要先分析再執行因此過程效率更高,直接寫sql語句會帶來安全性問題,如:sql注入
2.建立過程不會很耗系統資源,因為過程只是在調用才執行。
3.存儲過程可以用於降低網絡流量,存儲過程代碼直接存儲於數據庫中,所以不會產生大量T-sql語句的代碼流量。
4.使用存儲過程使您能夠增強對執行計划的重復使用,由此可以通過使用遠程過程調用 (RPC) 處理服務器上的存儲過程而提高性能。RPC 封裝參數和調用服務器端過程的方式使引擎能夠輕松地找到匹配的執行計划,並只需插入更新的參數值。
5.可維護性高,更新存儲過程通常比更改、測試以及重新部署程序集需要較少的時間和精力。
6.代碼精簡一致,一個存儲過程可以用於應用程序代碼的不同位置。
7.增強安全性:
a、通過向用戶授予對存儲過程(而不是基於表)的訪問權限,它們可以提供對特定數據的訪問;
b、提高代碼安全,防止 SQL注入(但未徹底解決,例如,將數據操作語言--DML,附加到輸入參數);
c、SqlParameter 類指定存儲過程參數的數據類型,作為深層次防御性策略的一部分,可以驗證用戶提供的值類型(但也不是萬無一失,還是應該傳遞至數據庫前得到附加驗證)。
缺點就是:
1、大量的利用過程,會對服務器壓力比較大。