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