定義:一組為了完成特定功能的sql語句集。
優點:
1,執行速度快。儲存過程儲存在資料庫中,一次編譯永久有效。相對於一般sql每執行一次就要編譯一次而言快。
2,減少網路傳輸。儲存過程直接在資料庫上跑,不需要資料傳輸,限制儲存過程的只是硬碟的速度而非網速。
3,可維護性。有些問題直接改儲存過程就行,無需編譯發布**了。
4,安全性高。儲存過程比較穩定,可以設定許可權。
5,可擴充套件性高。應用程式和資料庫編碼單獨工作,減少了耦合。
缺點:
1,開發除錯性差。由於ide問題,儲存過程比一般sql除錯起來困難許多。
2,可移植性差。sql終歸只是結構化查詢語言,不是物件導向的,過程的處理非常吃力,對於一些複雜的業務更加困難,同時也限制了應用程式的可移植性。
3,重新編譯問題。對於一些引數或結果的變化,需要重新除錯編譯,比較繁瑣。
4,不支援集群。儲存過程使得資料庫無法水平拓展或資料庫切割,,因為切割後儲存過程不知道資料在哪個資料庫中。
總之,適當運用儲存過程可以提高效能,但不應大規模濫用。而且隨著眾多orm的出現,儲存過程的許多優勢已經很不明顯了。而且最重要的是,sql終歸只是結構化查詢語句,我們不應該用儲存過程處理複雜的業務邏輯,它不僅使得我們的**可讀性變差,也違背了sql的初衷,複雜的業務邏輯還應交給**處理。阿里手冊中也提到嚴禁使用儲存過程,因為其差勁的除錯和拓展,以及可移植性。當然猜測可能是用的資料庫是mysql,因為mysql對儲存過程得支援太差,遠不如sql server,
儲存過程優缺點
儲存過程的優點 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為在儲存過程中獲取由...