儲存過程的優缺點

2021-05-22 14:03:33 字數 857 閱讀 4175

優點:

1、儲存過程只在創造時進行編譯,以後每次執行儲存過程都不需再重新編譯,而一般 sql 語句每執行一次就編譯一次,所以使用儲存過程可提高資料庫執行速度

2、安全性高,

a、通過向使用者授予對儲存過程(而不是基於表)的訪問許可權,它們可以提供對特定資料的訪問;

b、提高**安全,防止 sql注入(但未徹底解決,例如,將資料操作語言--dml,附加到輸入引數);

c、sqlparameter 類指定儲存過程引數的資料型別,作為深層次防禦性策略的一部分,可以驗證使用者提供的值型別(但也不是萬無一  失, 還是應該傳遞至資料庫前得到附加驗證)。

3、當對資料庫進行複雜操作時(如對多個表進行 update,insert,query,delete 時),可將此複雜操作用儲存過程封裝起來與資料庫提供的事務處理結合一起使用。這些操作,如果用程式來完成,就變成了一條條的 sql 語句,可能要多次連線資料庫。而換成儲存,只需要連線一次資料庫就可以了。儲存過程可以用於降低網路流量,儲存過程**直接儲存於資料庫中,所以不會產生大量t-sql語句的**流量。

4、有利於**復用

缺點:

1.如果更改範圍大到需要對輸入儲存過程的引數進行更改,或者要更改由其返回的資料,則您仍需要更新程式集中的**以新增引數、更新 getvalue() 呼叫,等等,這時候估計比較繁瑣了。

2.可移植性差

由於儲存過程將應用程式繫結到 sql server,因此使用儲存過程封裝業務邏輯將限制應用程式的可移植性。如果應用程式的可移植性在您的環境中非常重要,則將業務邏輯封裝在不特定於 rdbms 的中間層中可能是乙個更佳的選擇。

儲存過程優缺點

儲存過程的優點 1.儲存過程只在創造時進行編譯,以後每次執行儲存過程都不需再重新編譯,而一般sql語句每執行一次就編譯一次,所以使用儲存過程可提高資料庫執行速度。2.當對資料庫進行複雜操作時 如對多個表進行update,insert,query,delete時 可將此複雜操作用儲存過程封裝起來與資料...

儲存過程優缺點

優點 1.由於應用程式隨著時間推移會不斷更改,增刪功能,t sql過程 會變得更複雜,storedprocedure為封裝此 提供了乙個替換位置。2.執行計畫 儲存過程在首次執行時將被編譯,這將產生乙個執行計畫 實際上是 microsoft sql server為在儲存過程中獲取由 t sql 指定...

儲存過程優缺點

儲存過程的優缺點 優點 1.由於應用程式隨著時間推移會不斷更改,增刪功能,t sql過程 會變得更複雜,storedprocedure為封裝此 提供了乙個替換位置。2.執行計畫 儲存過程在首次執行時將被編譯,這將產生乙個執行計畫 實際上是 microsoft sql server為在儲存過程中獲取由...