日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL事务的幻读

發布時間:2025/3/20 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL事务的幻读 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

幻讀——PHANTON READ
又稱為虛度,是指在一個事務內,兩次查詢中數據條數不一致
幻讀和不可重復讀類似,都是在兩次查詢過程中,區別,幻讀是由于其他事務做了插入記錄的操作,導致,記錄條數有所增加

設置b賬戶的隔離級別
B賬戶,由于,前面將事務的隔離級別設置為REPEATABLE READ——可重復讀,這種隔離級別可以避免幻讀的出現
因此,需要將事務的隔離級別設置的更低,設置為READ COMMITTED

演示幻讀

B賬戶,首先,在b賬戶中開啟一個事務,在事務中查詢賬戶的余額

A賬戶,在對a賬戶操作之前,查詢當前賬戶中的信息

對a賬戶執行添加操作,a賬戶不用開啟事務,直接執行添加操作

B賬戶,當a賬戶添加成功后,在b賬戶中,再次查詢賬戶的余額

可以看出,第二次查詢比第一次查詢,多了一條記錄
這種情況不是錯誤的,但是,不符合實際需求,演示完成,將b賬戶中的事務提交

重新設置b賬戶的隔離級別
B賬戶,為了防止出現幻讀,將b賬戶的隔離級別設置為REPEATABLE READ

驗證是否出現幻讀

B賬戶,重新開啟一個事務,查詢當前賬戶的余額

A賬戶,進行添加操縱之前,先查看賬戶中的信息

對a賬戶執行添加操作,不開啟事務,直接執行添加操作

B賬戶,當a賬戶執行完添加操作,再次,查詢當前賬戶中的信息

可以看出,兩次查詢結果一致,在同一個事務中,兩次的查詢結果是一致的

因此,事務的隔離級別為REPEATABLE READ,可以避免幻讀
最后,使用commit提交當前事務,提交之后,查詢賬戶的余額

可以看出,賬戶的信息已經修改,添加了一條新紀錄

總結

以上是生活随笔為你收集整理的MySQL事务的幻读的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。