MySQL中InnoDB事務的默認隔離級別測試

background:通過在數據庫建一個簡單的蜘蛛俠,蝙蝠俠轉賬表,來測試InnoDB事務的默認隔離級別
事務A:蝙蝠俠(超能力是有錢)給蜘蛛俠轉賬100;一共是四步組成
(1)開始事務A
(2)update 蜘蛛俠賬戶加100
(3)update 蝙蝠俠賬戶減100
(4)提交事務A
事務B:蜘蛛俠轉查自己的賬戶
第一步:開始事務A後執行事務B;結果如下
start
在這裏插入圖片描述
第二步:update 事務A後執行事務B;結果如下
在這裏插入圖片描述
在這裏插入圖片描述
第三步:update 事務A後執行事務B;結果如下
在這裏插入圖片描述
在這裏插入圖片描述
第四步:commit事務A後執行事務B;結果如下
在這裏插入圖片描述
在這裏插入圖片描述
由以上簡單四步可以看出,在事務A開始後到提交前,事務B每次讀到的數據都與第一次讀到的數據結果一致,事務A提交後纔會讀到修改結果。
可見InnoDB的默認隔離級別是可重複讀(repeatable read)

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