一.mysql事件隔離級別
1未提交讀(READUNCOMMITTED)
另一個事務修改了資料,但尚未提交,而本事務中的SELECT會讀到這些未被提交的資料(臟讀)( 隔離級別最低,并發性能高 )
2..提交讀(READCOMMITTED)
本事務讀取到的是最新的資料(其他事務提交后的),問題是,在同一個事務里,前后兩次相同的SELECT會讀到不同的結果(不重復讀),會出現不可重復讀、幻讀問題(鎖定正在讀取的行)
3.可重復讀(REPEATABLEREAD)
在同一個事務里,SELECT的結果是事務開始時時間點的狀態,因此,同樣的SELECT操作讀到的結果會是一致的,但是,會有幻讀現象(稍后解釋),會出幻讀(鎖定所讀取的所有行)
4.串行化(SERIALIZABLE)
讀操作會隱式獲取共享鎖,可以保證不同事務間的互斥(鎖表)
二.臟讀、不可重復讀、幻讀、復讀
1.臟讀
當前事務讀到的資料是別的事務想要修改成為的但是沒有修改成功的資料
2.不可重復讀
當前事務先進行了一次資料讀取,然后再次讀取到的資料是別的事務修改成功的資料,導致兩次讀取到的資料不匹配,也就照應了不可重復讀的語意
3.幻讀
當前事務讀第一次取到的資料比后來讀取到資料條目少或者增加,針對資料的刪與增
4.復讀
當前事務先進行了一次資料讀取,然后再次讀取到的資料是別的事務修改之前的資料,兩次資料相同
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/119280.html
標籤:MySQL
上一篇:JDBC
下一篇:Mysql—常見查詢命令
