mysql使用預存程序的功能:1、增強SQL語句的功能和靈活性;2、減少網路流量,進而降低網路負載;3、提高資料庫的存取效率;4、提高資料庫的安全性與資料的完整性;5、使資料獨立,達到解耦的效果。
(推薦教學:mysql影片教學)
預存程序是一組為了完成特定功能的SQL 語句集合。使用預存程序的目的是將常用或複雜的工作預先用 SQL 語句寫好並用一個指定名稱儲存起來,這個過程經過編譯和優化後儲存在資料庫伺服器中,因此稱為預存程序。當日後需要資料庫提供與已定義好的預存程序的功能相同的服務時,只需呼叫「CALL預存程序名稱」即可自動完成。
常用操作資料庫的 SQL 語句在執行的時候需要先編譯,然後再執行。預存程序則採用另一種方式來執行 SQL 語句。
一個預存程序是一個可程式化的函數,它在資料庫中建立並保存,一般由 SQL 語句和一些特殊的控制結構組成。當希望在不同的應用程式或平台上執行相同的特定功能時,預存程序尤其合適。
MySQL 5.0 版本以前不支援預存程序,這讓 MySQL 在應用程式上大打折扣。 MySQL 從5.0 版本開始支援預存程序,既提高了資料庫的處理速度,同時也提高了資料庫程式設計的彈性
預存程序是資料庫中的重要功能,預存程序可以用來轉換資料、資料遷移、製作報表,它類似程式語言,一次執行成功,就可以隨時被調用,完成指定的功能操作。
使用預存程序不僅可以提高資料庫的存取效率,同時也可以提高資料庫使用的安全性。
對於呼叫者來說,預存程序封裝了 SQL 語句,呼叫者無需考慮邏輯功能的特定實作過程。只是簡單呼叫即可,它可以被 Java 和 C# 等程式語言呼叫。
編寫預存程序對開發者要求稍微高一些,但這並不影響預存程序的普遍使用,因為預存程序有以下優點:
1) 封裝性
通常完成一個邏輯功能需要多條SQL 語句,而且各個語句之間很可能傳遞參數,所以,編寫邏輯功能相對來說稍微複雜些,而預存程序可以把這些SQL 語句包含到一個獨立的單元中,讓外界看不到複雜的SQL 語句,只需要簡單呼叫即可達到目的。並且資料庫專業人員可以隨時對預存程序進行修改,而不會影響到呼叫它的應用程式原始碼。
2) 可增強 SQL 語句的功能和彈性
預存程序可以用流程控制語句編寫,有很強的彈性,可以完成複雜的判斷和較複雜的運算。
3) 可減少網路流量
由於預存程序是在伺服器端運行的,且執行速度快,因此當客戶電腦上呼叫該預存程序時,網路中傳送的只是該呼叫語句,從而可降低網路負載。
4) 高效能
當預存程序成功編譯後,就儲存在資料庫伺服器裡了,以後客戶端可以直接調用,這樣所有的SQL 語句將從伺服器執行,從而提高性能。但要說明的是,預存程序不是越多越好,過多的使用預存程序反而影響系統效能。
5) 提高資料庫的安全性和資料的完整性
預存程序提高安全性的一個方案就是把它當作中間元件,預存程序裡可以對某些表做相關操作,然後預存程序作為介面提供給外部程式。這樣,外部程式無法直接操作資料庫表,只能透過預存程序來操作對應的表,因此在一定程度上,安全性是可以提高的。
6) 讓資料獨立
資料的獨立可以達到解耦的效果,也就是說,程式可以呼叫預存過程,來取代執行多個條的 SQL 語句。這種情況下,預存程序把資料同用戶隔離開來,優點就是當資料表的結構改變時,呼叫表不用修改程序,只需要資料庫管理者重新編寫預存程序即可。
以上是mysql使用預存程序的作用是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!