【轉】存儲過程的做用和意義

1、什麼是存儲過程:
存儲過程
是在大型數據庫系統中,一組爲了完成特定功能的SQL 語句集,存儲在數據庫中,通過第一次編譯後再次調用不須要再次編譯,
用戶經過指定存儲過程的名字並給出參數(若是該存儲過程帶有參數)來執行它。存儲過程是數據庫中的一個重要對象,任何一個設計良好的數據庫應用程序都應該用到存儲過程。
2、爲何要用存儲過程呢?
存儲過程真的那麼重要嗎,它到底有什麼好處呢?存儲過程說白了就是一堆SQL 的合併。中間加了點邏輯控制。
1.存儲過程處理比較複雜的業務時比較實用。具體分爲兩個方面:
(一)響應時間上來講有
優點:若是你在前臺處理的話。可能會涉及到屢次數據庫鏈接。但若是你用存儲過程的話,就只有一次。存儲過程能夠給咱們帶來運行效率提升的好處;
(二)、從安全上使用了存儲過程的系統更加穩定:程序容易出現BUG 不穩定,而存儲過程,只要數據庫不出現問題,基本上是不會出現什麼問題的。
2.數據量小的項目不用存儲過程也能夠正常運做。
3、那麼何時才須要用存儲過程?
存儲過程不單單適用於大型項目,對於中小型項目,使用存儲過程也是很是有必要的。
其優點主要體如今:
1.存儲過程只在創造時進行編譯,之後每次執行存儲過程都不需再從新編譯,而通常SQL 語句每執行一次就編譯一次因此使用存儲過程可提升數據庫執行速度。
2.當對數據庫進行復雜操做時(如對多個表進行Update,Insert,Query,Delete 時)可將此複雜操做用存儲過程封裝起來與數據庫提供的事務處理結合一塊兒使用。
這些操做,若是用程序來完成,就變成了一條條的SQL 語句,可能要屢次鏈接數據庫。而換成存儲,只須要鏈接一次數據庫就能夠了。
3.存儲過程能夠重複使用
可減小數據庫開發人員的工做量。
4.安全性高
可設定只有某此用戶才具備對指定存儲過程的使用權。
5.更強的適應性:因爲存儲過程對數據庫的訪問是經過存儲過程來進行的,所以數據庫開發
人員能夠在不改動存儲過程接口的狀況下對數據庫進行任何改動,
而這些改動不會對應用程
序形成影響。
6.分佈式工做:應用程序和數據庫的編碼工做能夠分別獨立進行,而不會相互壓制。
通常來講,存儲過程的編寫比基本
SQL
語句複雜,編寫存儲過程須要更高的技能,更
豐富的經驗。
4、開發中存儲過程使用的優點和劣勢
優勢以下:
1.執行效率高.
2.安全性能好。
3.對於一些場合很是容易實現需求。數據庫

缺點以下:
1.可維護性比較差。
2.可讀性也差。安全

相關文章
相關標籤/搜索