四大特性
1:原子性。事務是乙個不可分割的整體,事務開始的操作,要麼全部執行,要麼全部不執行。
2:隔離性。同一時間,只允許乙個事務請求同一組資料。不同的事務彼此之間沒有干擾。
3:一致性。事務開始前和結束後,資料庫的完整性約束沒有被破壞 。
4:穩定性。事務完成後,事務對資料庫的所有更新將被儲存到資料庫,不能回滾。
隔離性的四種級別
1: read uncommitted。事務a對資料進行修改,但未提交。此時開啟事務b,在事務b中能讀到事務a中對資料庫進行的未提交資料的修改。(這種方式也稱為髒讀)
2 :read committed。事務a對資料進行修改,但還未提交。此時開啟事務b,在事務b中不能讀到事務a中對資料庫的修改。在事務b還沒有關閉時,此時事務a提交對資料庫的修改。這時候,我們在事務b中,可以查到事務a中對資料庫的修改。這時存在乙個問題,我們在同乙個事務中,對資料庫查詢兩次,但兩次的結果是不一樣的。(這種方式稱為不可重複讀。)
3 :repetition read。事務a對資料進行修改,但未提交,此時開啟事務b,在事務b中不能讀到事務a對資料庫的修改。在事務a提交對資料庫修改時,此時在事務b中,仍不能讀到事務a對資料庫的修改。(這種方式稱為可重複讀)但此時有乙個弊端,比如我們在事務a中對資料庫增加一條資料,id 為 n ,這時候我們在事務b中查詢資料,此時查不到id為n的資料。但當我們在事務b中增加id為n的資料時,系統會提示id為n的資料已經存在,我們新增失敗。但此時此刻,我們在事務b中仍不能查詢到id為n的資料。這種方式存在乙個幻讀的概念。舉個例子,(系統管理員a將資料庫中所有學生的成績從具體分數改為abcde等級,但是系統管理員b就在這個時候插入了一條具體分數的記錄,當系統管理員a改結束後關閉事務發現還有一條記錄沒有改過來,就好像發生了幻覺一樣,這就叫幻讀。)
4 :serializable。在開啟事務a時,會產生鎖表,此時別的事務會等待,等事務a結束時才會開啟。
MySQL事務四大特徵以及四種事務隔離級別
一 mysql事務的四大特性 acid 1.原子性 atomicity 原子性是指乙個事務的操作要麼全部成功,要麼全部失敗回滾。保證事務的操作成功則全部應用到資料庫,失敗則不能對資料庫產生任何影響。2.一致性 consistency 一致性是指事務必須從乙個一致性狀態轉換到另乙個一致性狀態。也就是乙...
MySQL事務四大特性與隔離級別
1 原子性 是指乙個方法裡的操作要同時成功或者同時失敗。2 一致性 事務前後資料的完整性必須保持一致。3 隔離性 要保證資料之間不能相互影響,有四種隔離等級。4 永續性 指乙個事務一旦被提交,它對資料庫中資料的改變就是永久性的,接下來即使資料庫發生故障也不應該對其有任何影響。一致性 簡單打個比方,比...
資料庫事務的四大特性以及四種隔離級別
首先什麼是事務?這是來自官方的解釋 資料庫事務 transaction 是訪問並可能操作各種資料項的乙個資料庫操作序列,這些操作要麼全部執行,要麼全部不執行,是乙個不可分割的工作單位。事務由事務開始與事務結束之間執行的全部資料庫操作組成,簡單的來說就是我們執行一件事情從頭到尾的過程。任何支援事務的資...