查詢mysql系統(tǒng)級(jí)事務(wù)隔離級(jí)別:SELECT @@global.tx_isolation;
查詢mysql會(huì)話級(jí)事務(wù)隔離級(jí)別:SELECT @@tx_isolation;
事務(wù)隔離級(jí)別:
一、讀未提交:? 查詢到了事務(wù)未提交更新
????????設(shè)置:set session transaction isolation level read uncommitted;
? ? ? ? 問題:臟讀(讀取后事務(wù)回滾)黑忱,幻讀(讀取了未提交數(shù)據(jù))提陶,不可重復(fù)讀(讀取的數(shù)據(jù)已變更)
? ? ? ? 演示:
二劫谅、讀已提交:查詢不到事務(wù)未提交更新的诵,只能查詢到事務(wù)已提交數(shù)據(jù)
????????設(shè)置:set session transaction isolation level read committed;隅津、
? ??????問題:幻讀(事務(wù)已修改未提交狀態(tài)讀取了提交之前數(shù)據(jù))揩尸,不可重復(fù)讀(提交后重新讀不一致)
????????演示:
? ? 三界斜、可重復(fù)讀:事務(wù)不提交查詢不變
? ??????問題:幻讀(事務(wù)未提交永遠(yuǎn)讀取一條數(shù)據(jù),就算別的事務(wù)已經(jīng)提交)
? ? ? ? 設(shè)置:set session transaction isolation level repeatable read;
四眯搭、串行化: 單線程操作窥翩,事務(wù)必須提交別的事務(wù)才能執(zhí)行
? ? ? ? 設(shè)置:set session transaction isolation level serializable;