mysql的隔離級別

堅持

有四種隔離級別,每個隔離級別都有對應問題,如 髒讀、不可重複讀、幻讀

由低到高依次爲Read uncommitted 讀未提交 、Read committed 讀已提交、Repeatable read 重複讀、Serializable串行化 ,

這四個級別可以逐個解決髒讀 、不可重複讀 、幻讀 這幾類問題。

1.髒讀
一個事物正在訪問數據,並對數據做了修改,修改完數據還沒有提交到數據庫中,另一個事物開始讀這個數據,讀到了修改後的數據,這就是髒讀。

2.不可重複讀

一個事物修改了數據,修改完的數據還沒有提交到數據庫中,事物2訪問不到修改後的數據,當事物1提交了本次事物,事物2就可以訪問到數據,因此在事物2 中第一次訪問的數據是修改之前的數據,訪問第一次之前的數據後 事物2 再次訪問修改後的數據就會訪問到事物1修改後的數據,在事物2中對同一個數據的兩次操作結果不同,即不可重複讀。

3.幻讀

幻讀指的是一個事務在前後兩次查詢同一個範圍的時候,後一次查詢看到了前一次查詢沒有看到的行。事物1 第一次查詢完,事物2插入了新的一行,事物1 第二次查詢就會多查詢到這一行,這就是幻讀。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章