如果2個事務同事操作乙個資料?
事務隔離級別:
1.read uncommitted ---讀未提交
如果那個事務他還沒有提交,你讀取了,他回滾了。
髒讀(dirty reads)
乙個事務讀取了另乙個未提交的並行事務寫的資料。
不可重複讀(non-repeatable reads)
乙個事務重新讀取前面讀取過的資料, 發現該資料已經被另乙個已提交的事務修改過。
幻讀(phantom read)
乙個事務重新執行乙個查詢,返回一套符合查詢條件的行, 發現這些行因為其他最近提交的事務而發生了改變。
使用mysql sql:
select @@tx_isolation;
repeatable-read
可重複讀的級別
1.先設定為讀未提交的級別
set transaction isolation level read uncommitted;
JDBC事務隔離級別
如果dbms支援事務處理,它必須有某種途徑來管理兩個事務同時對乙個資料庫進行操作時可能發生的衝突。使用者可指定事務隔離級別,以指明dbms應該花多大精力來解決潛在衝突。例如,當事務更改了某個值而第二個事務卻在該更改被提交或還原前讀取該值時該怎麼辦。假設第乙個事務被還原後,第二個事務所讀取的更改值將是...
JDBC事務隔離級別
如果dbms支援事務處理,它必須有某種途徑來管理兩個事務同時對乙個資料庫進行操作時可能發生的衝突。使用者可指定事務隔離級別,以指明dbms應該花多大精力來解決潛在衝突。例如,當事務更改了某個值而第二個事務卻在該更改被提交或還原前讀取該值時該怎麼辦。假設第乙個事務被還原後,第二個事務所讀取的更改值將是...
JDBC事務隔離級別
如果dbms支援事務處理,它必須有某種途徑來管理兩個事務同時對乙個資料庫進行操作時可能發生的衝突。使用者可指定事務隔離級別,以指明dbms應該花多大精力來解決潛在衝突。例如,當事務更改了某個值而第二個事務卻在該更改被提交或還原前讀取該值時該怎麼辦。假設第乙個事務被還原後,第二個事務所讀取的更改值將是...