1. 程式人生 > >數據庫的四種隔離級別

數據庫的四種隔離級別

ability con 提交 原因 src acl 事務提交 就會 可能

一、事務的概念

一個事務中的一系列的操作要麽全部成功,要麽一個都不做。

事務的結束有兩種,當事務中的所有步驟全部成功執行時,事務提交。如果其中一個步驟失敗,將發生回滾操作,撤消該事務已執行的操作。

二、事務的特性 ACID

事務具有四個特征:原子性( Atomicity )、一致性( Consistency )、隔離性( Isolation )和持續性( Durability ),簡稱為 ACID 特性。

三、多事務並發執行的問題

臟讀(Drity Read):某個事務已更新一份數據,另一個事務在此時讀取了同一份數據,由於某些原因,前一個RollBack了操作,則後一個事務所讀取的數據就會是不正確的。

不可重復讀(Non-repeatable read):在一個事務的兩次查詢之中數據不一致,這可能是兩次查詢過程中間插入了一個事務更新的原有的數據。

幻讀(Phantom Read):在一個事務的兩次查詢中數據筆數不一致,例如有一個事務查詢了幾列(Row)數據,而另一個事務卻在此時插入了新的幾列數據,先前的事務在接下來的查詢中,就會發現有幾列數據是它先前所沒有的。

三、事務的四種隔離級別

SQL標準定義了4類隔離級別,包括了一些具體規則,用來限定事務內外的哪些改變是可見的,哪些是不可見的。低級別的隔離級一般支持更高的並發處理,並擁有更低的系統開銷。

技術分享圖片

其它相關概念待補充:MySQL、 Oracle事務實現原理; SQL標準

參考文章

https://www.2cto.com/database/201707/657145.html

https://www.cnblogs.com/andydao/p/6043963.html

數據庫的四種隔離級別