您好,登錄后才能下訂單哦!
今天小編給大家分享一下mysql存儲過程的缺點有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
mysql存儲過程的缺點:1、存儲過程的構造使得開發具有復雜業務邏輯的存儲過程變得更加困難;2、很難調試存儲過程;3、開發和維護存儲過程不容易;4、由于存儲過程將應用程序綁定到數據庫上,因此使用存儲過程封裝業務邏輯將限制應用程序的可移植性。
本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。
存儲過程介紹:
存儲過程(Stored Procedure)是一組為了完成特定功能的SQL 語句集,經編譯后存儲在數據庫。用戶通過指定存儲過程的名字并給出參數(如果該存儲過程帶有參數)來執行它。
1、存儲過程只在創造時進行編譯,以后每次執行存儲過程都不需再重新編譯,而一般SQL 語句每執行一次就編譯一次,所以使用存儲過程可提高數據庫執行速度。
2、當對數據庫進行復雜操作時(如對多個表進行Update,Insert,Select,Delete 時),可將此復雜操作用存儲過程封裝起來與數據庫提供的事務處理結合一起使用。
3、存儲過程可以重復使用,可減少數據庫開發人員的工作量。
4、安全性高,可設定只有某個用戶才具有對指定存儲過程的使用權。
MySQL存儲過程的優缺點
MySQL存儲過程的優點
通常存儲過程有助于提高應用程序的性能。當創建,存儲過程被編譯之后,就存儲在數據庫中。 但是,MySQL實現的存儲過程略有不同。 MySQL存儲過程按需編譯。 在編譯存儲過程之后,MySQL將其放入緩存中。 MySQL為每個連接維護自己的存儲過程高速緩存。 如果應用程序在單個連接中多次使用存儲過程,則使用編譯版本,否則存儲過程的工作方式類似于查詢。
存儲過程有助于減少應用程序和數據庫服務器之間的流量,因為應用程序不必發送多個冗長的SQL語句,而只能發送存儲過程的名稱和參數。
存儲的程序對任何應用程序都是可重用的和透明的。 存儲過程將數據庫接口暴露給所有應用程序,以便開發人員不必開發存儲過程中已支持的功能。
存儲的程序是安全的。 數據庫管理員可以向訪問數據庫中存儲過程的應用程序授予適當的權限,而不向基礎數據庫表提供任何權限。
除了這些優點之外,存儲過程有其自身的缺點,在數據庫中使用它們之前,應該注意這些缺點。
MySQL存儲過程的缺點
如果使用大量存儲過程,那么使用這些存儲過程的每個連接的內存使用量將會大大增加。 此外,如果您在存儲過程中過度使用大量邏輯操作,則CPU使用率也會增加,因為數據庫服務器的設計不當于邏輯運算。
存儲過程的構造使得開發具有復雜業務邏輯的存儲過程變得更加困難。
很難調試存儲過程。只有少數數據庫管理系統允許您調試存儲過程。不幸的是,MySQL不提供調試存儲過程的功能。
開發和維護存儲過程并不容易。
可移植性差:由于存儲過程將應用程序綁定到數據庫上,因此使用存儲過程封裝業務邏輯將限制應用程序的可移植性。
重新編譯問題,因為后端代碼是運行前編譯的,如果帶有引用關系的對象發生改變時,受影響的存儲過程、包將需要重新編譯(不過也可以設置成運行時刻自動編譯)。
以上就是“mysql存儲過程的缺點有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。