數據庫事務級別


參照MSSQL鎖定-1.Isolation level (myBased)

隔離級別 臟讀(Dirty Read) 不可重復讀(NonRepeatable Read) 幻讀(Phantom Read)

讀未提交(Read uncommitted) 可能 可能 可能

讀已提交(Read committed) 不可能 可能 可能

可重復讀(Repeatable read) 不可能 不可能 可能

可串行化(Serializable ) 不可能 不可能 不可能

先看橫向的:

臟讀dirty reads:當事務讀取還未被提交的數據時,就會發生這種事件。舉例來說:Transaction1修改了一行數據,然后Transaction2在 Transaction1還未提交修改操作之前讀取了被修改的行。如果Transaction1回滾了修改操作,那么Transaction2讀取的數據就可以看作是從未存在過的。
不可重復的讀non-repeatable reads :當事務兩次讀取同一行數據,但每次得到的數據都不一樣時,就會發生這種事件。舉例來說:Transaction1讀取一行數據,然后 Transaction2修改或刪除該行並提交修改操作。當Transaction1試圖重新讀取該行時,它就會得到不同的數據值(如果該行被更新)或發現該行不再存在(如果該行被刪除)。
虛讀phantom read :如果符合搜索條件的一行數據在后面的讀取操作中出現,但該行數據卻不屬於最初的數據,就會發生這種事件。舉例來說Transactio1讀取滿足某種搜索條件的一些行,然后Transaction2插入了符合Transaction1的搜索條件的一個新行。如果Transaction1重新執行產生原來那些行的查詢,就會得到不同的行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM