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

mysql預存程序的優點是什麼

青灯夜游
青灯夜游原創
2021-06-25 12:57:079392瀏覽

在mysql中,預存程序是一組為了完成特定功能的SQL語句集合;優點:1、封裝性;2、可增強SQL語句的功能與彈性;3、可減少網路流量; 4、高效能;5、提高資料庫的安全性和資料的完整性;6、使資料獨立。

mysql預存程序的優點是什麼

本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。

預存程序是一組為了完成特定功能的 SQL 語句集合。使用預存程序的目的是將常用或複雜的工作預先用 SQL 語句寫好並用一個指定名稱儲存起來,這個過程經過編譯和優化後儲存在資料庫伺服器中,因此稱為預存程序。當日後需要資料庫提供與已定義好的預存程序的功能相同的服務時,只需呼叫「CALL預存程序名稱」即可自動完成。

常用操作資料庫的 SQL 語句在執行的時候需要先編譯,然後再執行。預存程序則採用另一種方​​式來執行 SQL 語句。

一個預存程序是一個可程式化的函數,它在資料庫中建立並保存,一般由 SQL 語句和一些特殊的控制結構組成。當希望在不同的應用程式或平台上執行相同的特定功能時,預存程序尤其合適。

MySQL 5.0 版本以前不支援預存程序,這讓 MySQL 在應用程式上大打折扣。 MySQL 從5.0 版本開始支援預存程序,既提高了資料庫的處理速度,同時也提高了資料庫程式設計的彈性

mysql預存程序的優點

編寫預存程序對開發者要求稍微高一些,但這並不影響預存程序的普遍使用,因為預存程序有以下優點:

1) 封裝性

通常完成一個邏輯功能需要多條SQL 語句,而且各個語句之間很可能傳遞參數,所以,寫邏輯功能相對來說稍微複雜些,而預存程序可以把這些SQL 語句包含到一個獨立的單元中,使外界看不到複雜的SQL 語句,只需要簡單呼叫即可達到目的。並且資料庫專業人員可以隨時對預存程序進行修改,而不會影響到呼叫它的應用程式原始碼。

2) 可增強SQL 語句的功能和彈性

預存程序可以用流程控制語句寫,有很強的彈性,可以完成複雜的判斷和較複雜的運算。

3) 可減少網路流量

由於預存程序是在伺服器端運行的,且執行速度快,因此當客戶電腦上呼叫該預存程序時,網路中傳送的只是該呼叫語句,可降低網路負載。

4) 高效能

當預存程序成功編譯後,就儲存在資料庫伺服器裡了,以後客戶端可以直接調用,這樣所有的SQL 語句將從伺服器執行,從而提高效能。但要說明的是,預存程序不是越多越好,過多的使用預存程序反而影響系統效能。

5) 提高資料庫的安全性和資料的完整性

儲存過程提高安全性的一個方案就是把它當作中間元件,在儲存過程中可以對某些表做相關操作,然後預存程序作為介面提供給外部程式。這樣,外部程式無法直接操作資料庫表,只能透過預存程序來操作對應的表,因此在一定程度上,安全性是可以提高的。

6) 讓資料獨立

資料的獨立可以達到解耦的效果,也就是說,程式可以呼叫儲存過程,來取代執行多條的SQL語句。這種情況下,預存程序把資料同用戶隔離開來,優點就是當資料表的結構改變時,呼叫表不用修改程序,只需要資料庫管理者重新編寫預存程序即可。

(推薦教學:mysql影片教學

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

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