首頁  >  文章  >  資料庫  >  mysql預存程序的缺點是什麼

mysql預存程序的缺點是什麼

青灯夜游
青灯夜游原創
2022-04-12 16:54:042884瀏覽

mysql預存程序的缺點:1.預存程序的建構使得開發具有複雜業務邏輯的預存程序變得更加困難;2、很難調試預存程序;3、開發和維護預存程序不容易; 4.由於預存程序將應用程式綁定到資料庫上,因此使用預存程序封裝業務邏輯將限制應用程式的可移植性。

mysql預存程序的缺點是什麼

本教學操作環境: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影片教學

以上是mysql預存程序的缺點是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn