mysql事务隔离级别与设置
生活随笔
收集整理的這篇文章主要介紹了
mysql事务隔离级别与设置
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
mysql數(shù)據(jù)庫,當(dāng)且僅當(dāng)引擎是InnoDB,才支持事務(wù);
?
1、隔離級別
事務(wù)的隔離級別分為:未提交讀(read uncommitted)、已提交讀(read committed)、可重復(fù)讀(repeatable read)、串行化(serializable)。
?
未提交讀
A事務(wù)已執(zhí)行,但未提交;B事務(wù)查詢到A事務(wù)的更新后數(shù)據(jù);A事務(wù)回滾;---出現(xiàn)臟數(shù)據(jù)
?
已提交讀
A事務(wù)執(zhí)行更新;B事務(wù)查詢;A事務(wù)又執(zhí)行更新;B事務(wù)再次查詢時(shí),前后兩次數(shù)據(jù)不一致;---不可重復(fù)讀
?
可重復(fù)讀
A事務(wù)無論執(zhí)行多少次,只要不提交,B事務(wù)查詢值都不變;B事務(wù)僅查詢B事務(wù)開始時(shí)那一瞬間的數(shù)據(jù)快照;
?
串行化
不允許讀寫并發(fā)操作,寫執(zhí)行時(shí),讀必須等待;
?
2、數(shù)據(jù)庫設(shè)置
//查看當(dāng)前事物級別: SELECT @@tx_isolation; //設(shè)置mysql的隔離級別: set session transaction isolation level 設(shè)置事務(wù)隔離級別 //設(shè)置read uncommitted級別: set session transaction isolation level read uncommitted;//設(shè)置read committed級別: set session transaction isolation level read committed;//設(shè)置repeatable read級別: set session transaction isolation level repeatable read;//設(shè)置serializable級別: set session transaction isolation level serializable;?
轉(zhuǎn)載于:https://www.cnblogs.com/huasky/p/11190086.html
總結(jié)
以上是生活随笔為你收集整理的mysql事务隔离级别与设置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js 绑定的键盘事件
- 下一篇: MySQL大小写