国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql中事務和存儲過程指的是啥

2024-07-24 12:34:28
字體:
來源:轉載
供稿:網友
  mysql中的事務
 
  數據庫的事務(Transaction)是一種機制、是用戶定義的一個數據操作序列,包含了一組數據庫操作命令。事務把所有的命令作為一個整體一起向系統提交或撤銷操作請求,即這一組數據庫命令要么都執行,要么都不執行,因此事務是一個不可分割的工作邏輯單元。
 
  在數據庫系統上執行并發操作時,事務是作為最小的控制單元來使用的,特別適用于多用戶同時操作的數據庫系統。例如,航空公司的訂票系統、銀行、保險公司以及證券交易系統等。
 
  MySQL 事務主要用于處理操作量大,復雜度高的數據。比如說,在人員管理系統中,你刪除一個人員,你既需要刪除人員的基本資料,也要刪除和該人員相關的信息,如信箱,文章等等,這樣,這些數據庫操作語句就構成一個事務!
 
  在 MySQL 中只有使用了 Innodb 數據庫引擎的數據庫或表才支持事務。
  事務處理可以用來維護數據庫的完整性,保證成批的 SQL 語句要么全部執行,要么全部不執行。
  事務用來管理 insert、update、delete 語句
  一般來說,事務是必須滿足4個條件(ACID)::原子性(Atomicity,或稱不可分割性)、一致性(Consistency)、隔離性(Isolation,又稱獨立性)、持久性(Durability)。
 
  存儲過程是存儲在數據庫目錄中的一組為了完成特定功能的SQL語句集合。使用存儲過程的目的是將常用或復雜的工作預先用 SQL 語句寫好并用一個指定名稱存儲起來,這個過程經編譯和優化后存儲在數據庫服務器中,因此稱為存儲過程。當以后需要數據庫提供與已定義好的存儲過程的功能相同的服務時,只需調用“CALL存儲過程名字”即可自動完成。
 
  常用操作數據庫的 SQL 語句在執行的時候需要先編譯,然后執行。存儲過程則采用另一種方式來執行 SQL 語句。
 
  一個存儲過程是一個可編程的函數,它在數據庫中創建并保存,一般由 SQL 語句和一些特殊的控制結構組成。當希望在不同的應用程序或平臺上執行相同的特定功能時,存儲過程尤為合適。
 
  通常存儲過程有助于提高應用程序的性能。一旦創建,存儲過程就會被編譯并存儲在數據庫中。但是,MySQL實現的存儲過程略有不同。MySQL存儲過程是按需編譯的。編譯存儲過程后,MySQL將其放入緩存并為每個連接維護自己的存儲過程緩存。如果應用程序在單個連接中多次使用存儲過程,則使用編譯版本,否則,存儲過程的工作方式類似于查詢。
  存儲過程有助于減少應用程序和數據庫服務器之間的流量,因為應用程序必須只發送存儲過程的名稱和參數,而不是發送多個冗長的SQL語句。
  存儲過程對任何應用程序都是可重用且透明的。存儲過程將數據庫接口公開給所有應用程序,以便開發人員不必開發存儲過程中已經支持的功能。
  存儲過程是安全的。數據庫管理員可以為訪問數據庫中的存儲過程的應用程序授予適當的權限,而無需為基礎數據庫表提供任何權限。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青冈县| 日土县| 深州市| 类乌齐县| 吉安市| 常德市| 遵义市| 红安县| 定西市| 忻城县| 如皋市| 寻甸| 宿迁市| 无为县| 二连浩特市| 宝鸡市| 富顺县| 湛江市| 正蓝旗| 富川| 白玉县| 阜宁县| 山丹县| 额济纳旗| 大英县| 通辽市| 宁陵县| 德江县| 高邑县| 宁城县| 奉贤区| 中牟县| 惠州市| 南雄市| 凌源市| 临夏市| 新晃| 壶关县| 葫芦岛市| 平顶山市| 思南县|