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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

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

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

開啟A事務(wù)  并做更新操作

再另一端 B開始另一個(gè)事務(wù)查詢 事務(wù)級(jí)別設(shè)置為讀未提

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

2 第二個(gè)級(jí)別 讀已提交 避免臟讀問題 但是有不可重復(fù)讀問題

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

客戶端A

客戶端B

驗(yàn)證 臟讀問題

客戶端A

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

A提交事務(wù) B再查詢

測(cè)試不可重復(fù)讀問題

A客戶端 開始事務(wù) 先進(jìn)行一次查詢  仍然設(shè)置為讀已提交的隔離級(jí)別

此時(shí) A客戶端 沒有提交事務(wù) 開啟B客戶端 做更新操作

此時(shí)A客戶端再次查詢 結(jié)果不一樣? 在一個(gè)事務(wù)中 兩次查詢不一樣

3 第三個(gè)級(jí)別 可重復(fù)讀? 避免 不可重復(fù)讀問題;

確保客戶端A 和 客戶端B都是 可重復(fù)讀的隔離級(jí)別

客戶端A 第一次查詢

客戶端B 開啟事務(wù) 并更新 然后 提交事務(wù)

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

測(cè)試幻讀問題

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

客戶端B

此時(shí) 客戶端A再次查詢 還是一樣

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

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

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

總結(jié)

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

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