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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql隔离级别验证_MySQL事务隔离级别以及验证

發(fā)布時間:2023/12/2 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql隔离级别验证_MySQL事务隔离级别以及验证 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

查詢初始數(shù)據(jù)

開啟A事務  并做更新操作

再另一端 B開始另一個事務查詢 事務級別設置為讀未提

查詢到事務未提交的數(shù)據(jù)? a的count修改為3 但是沒有提交

2 第二個級別 讀已提交 避免臟讀問題 但是有不可重復讀問題

回滾數(shù)據(jù) 修改隔離級別 確保都是 讀已提交級別

客戶端A

客戶端B

驗證 臟讀問題

客戶端A

客戶端B? 查詢出結果 沒有臟讀問題

A提交事務 B再查詢

測試不可重復讀問題

A客戶端 開始事務 先進行一次查詢  仍然設置為讀已提交的隔離級別

此時 A客戶端 沒有提交事務 開啟B客戶端 做更新操作

此時A客戶端再次查詢 結果不一樣? 在一個事務中 兩次查詢不一樣

3 第三個級別 可重復讀? 避免 不可重復讀問題;

確保客戶端A 和 客戶端B都是 可重復讀的隔離級別

客戶端A 第一次查詢

客戶端B 開啟事務 并更新 然后 提交事務

這時 客戶端A 再次查詢數(shù)據(jù) 仍然是15 所以 避免了不可重復讀的問題

測試幻讀問題

同樣保持之前的數(shù)據(jù) 客戶端B開始事務 插入數(shù)據(jù)

客戶端B

此時 客戶端A再次查詢 還是一樣

經(jīng)過查詢? 據(jù)說來源于 MySQL技術內(nèi)幕 :InnoDB存儲引擎

之前提到一般情況下MySQL的InnoDB引擎在可重復讀的情況下是沒法保證不出現(xiàn)幻讀的,但實際情況是MySQL可以通過加鎖來防止幻讀的出現(xiàn),這種鎖定通過Next-key機制來實現(xiàn),是屬于記錄鎖和間隙鎖(Gap鎖)的結合。

《MySQL技術內(nèi)幕:InnoDB存儲引擎》-第六章:鎖

總結

以上是生活随笔為你收集整理的mysql隔离级别验证_MySQL事务隔离级别以及验证的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。