一、事務的作用:
事務管理對於企業級應用而言至關重要,它保證了使用者的每一次操作都是可靠的,即便出現了異常的訪問情況,也不至於破壞後台資料的完整性。就像銀行的自動提款機atm,通常atm都可以正常為客戶服務,但是也難免遇到操作過程中及其突然出故障的情況,此時,事務就必須確保出故障前對賬戶的操作不生效,就像使用者剛才完全沒有使用過atm機一樣,以保證使用者和銀行的利益都不受損失。二、事務的四大特性:特性
見解原子性(atomicity)
表示事務執行過程中的任何失敗都將導致事務所做的任何修改失效,因此事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響。
一致性(consistency)
表示乙個事務執行之前和執行之後都必須處於一致性狀態,當事務執行失敗時,所有被該事務影響的資料都應該恢復到事務執行前的狀態。
隔離性(isolation)
表示當多個使用者併發訪問資料庫時,比如操作同一張表時,資料庫為每乙個使用者開啟的事務,不能被其他事務的操作所干擾,多個併發事務之間要相互隔離。
永續性(durability)
表示乙個事務一旦被提交了,那麼對資料庫中的資料的改變就是永久性的,即便是在資料庫系統遇到故障的情況下也不會丟失提交事務的操作。
總的說就是:要麼全部執行成功,要麼撤銷不執行。
通俗的理解,事務是一組原子操作單元,從資料庫角度說,就是一組sql指令,要麼全部執行成功,若因為某個原因其中一條指令執行有錯誤,則撤銷先前執行過的所有指令。三、事務的隔離級別:名稱
級別none
jdbc驅動不支援事務
read uncommitted (讀未提交)
允許髒讀、不可重複讀和幻讀
read committed (讀已提交)
禁止髒讀,但允許不可重複讀和幻讀
repeatable read (可重複讀)
禁止髒讀和不可重複讀,單執行幻讀
serializable (序列化)
禁止髒讀、不可重複讀和幻讀
後記:隔離級別的設定只對當前鏈結有效。對於使用mysql命令視窗而言,乙個視窗就相當於乙個鏈結,當前視窗設定的隔離級別只對當前視窗中的事務有效;對於jdbc運算元據庫來說,乙個connection物件相當於乙個鏈結,而對於connection物件設定的隔離級別只對該connection物件有效,與其他鏈結connection物件無關。
事務的四大特性和隔離級別
事務,其定義是應用程式中一系列不可分割的操作,就是一組可以完成某個業務的 集合,在關聯式資料庫中,事務可以是一條sql語句,或者一組sql語句,亦或整個程式。其中事務有四個特徵,必須同時滿足這四個特徵才是乙個完整的事務。即事務的acid特性 原子性 atomicity 即事務是資料庫的不可分割單元,...
事務的概念 四大特性 隔離級別
首先,說說什麼事務 transaction 事物就是乙隻運算元據庫的動作集合 處理步驟要麼全部成功 要麼全部失敗 如果一步一步都執行完成 我們稱之為失誤已提交 如果中間有一步執行失敗 失誤必須被回滾 資料庫事務的隔離級別有4種,由低到高分別為read uncommitted read committ...
事務的四大特性和隔離級別
在資料庫操作中,一項事務 transaction 是由一條或多條運算元據庫的 sql 語句組成的乙個不可分割的工作單元,這些操作要麼都完成,要麼都取消。接下來將圍繞事務的特性 併發問題以及隔離級別進行講解。事務的定義很嚴格,它必須同時滿足四個特性,即原子性 一致性 隔離性和永續性,也就是人們俗稱的 ...