mysql儲存過程是一組為了完成特定功能的sql語句集,經過編譯之後儲存在資料庫中,當需要使用該組sql語句時使用者只需要通過指定儲存過程的名字並給定引數就可以呼叫執行它了,簡而言之就是一組已經寫好的命令,需要使用的時候拿出來用就可以了。想要快速的了解mysql儲存過程嗎,就一同看一下下文的「mysql儲存過程-原理、語法、函式詳細說明」吧!
一、mysql儲存過程簡介:
儲存過程是乙個可程式設計的函式,它在資料庫中建立並儲存。它可以有sql語句和一些特殊的控制結構組成。當希望在不同的應用程式或平台上執行相同的函式,或者封裝特定功能時,儲存過程是非常有用的。資料庫中的儲存過程可以看做是對程式設計中物件導向方法的模擬。它允許控制資料的訪問方式。儲存過程通常有以下優點:
1)儲存過程能實現較快的執行速度。
如果某一操作包含大量的transaction-sql**或分別被多次執行,那麼儲存過程要比批處理的執行速度快很多。因為儲存過程是預編譯的。在首次執行乙個儲存過程時查詢,優化器對其進行分析優化,並且給出最終被儲存在系統表中的執行計畫。而批處理的transaction-sql語句在每次執行時都要進行編譯和優化,速度相對要慢一些。
心得:編譯優化,快!
2)儲存過程允許標準元件是程式設計。
儲存過程被建立後,可以在程式中被多次呼叫,而不必重新編寫該儲存過程的sql語句。而且資料庫專業人員可以隨時對儲存過程進行修改,對應用程式源**毫無影響。
心得:封裝與抽象,簡單呼叫
3)儲存過程可以用流控制語句編寫,有很強的靈活性,可以完成複雜的判斷和較複雜的運算。
心得:功能強大,邏輯強大
4)儲存過程可被作為一種安全機制來充分利用。
系統管理員通過執行某一儲存過程的許可權進行限制,能夠實現對相應的資料的訪問許可權的限制,避免了非授權使用者對資料的訪問,保證了資料的安全。
心得:限制與安全
5)儲存過程能過減少網路流量。
針對同乙個資料庫物件的操作(如查詢、修改),如果這一操作所涉及的transaction-sql語句被組織程儲存過程,那麼當在客戶計算機上呼叫該儲存過程時,網路中傳送的只是該呼叫語句,從而大大增加了網路流量並降低了網路負載。
心得:減少網路流量(封裝的好)
mysql的鎖定機制 MySQL鎖定機制
一 樂觀鎖與悲觀鎖 1.1 樂觀鎖與使用版本號實現樂觀鎖 樂觀鎖假設認為資料一般情況下不會造成衝突,所以在資料進行提交更新的時候,才會正式對資料的衝突與否進行檢測,如果發現衝突了,則對使用者返回錯誤資訊,讓使用者決定如何去處理。實現方式為版本號和時間戳。使用版本號時,可以在資料初始化時指定乙個版本號...
mysql事務機制 Mysql事務機制
mysql事務是指將資料庫從一種一致性狀態轉到另一種一致性狀態 mysql事務具有acid特性 原子性 atomicity 事務中的所有操作,要麼全部執行,要麼都不執行 一致性 consistency 事務開始和結束後,資料庫的完整性不會被破壞 隔離性 isolation 事務之間互不影響。事務的隔...
mysql安全機制 Mysql安全機制
在mysql下mysql庫中有6個許可權表 mysql.user 使用者字段,許可權字段,安全字段,資源控制字段 mysql.db mysql.host 使用者字段,許可權字段 mysql.tables priv,mysql.columms priv,mysql.procs priv 一 使用者管理...