日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
談?wù)勀銓ySQL事務(wù)隔離級別的理解

?一位5年工作經(jīng)驗(yàn)的粉絲,去阿里面試被問到一個(gè)關(guān)于數(shù)據(jù)庫事務(wù)隔離級別的問題,當(dāng)時(shí),沒有問答上來,希望給他一個(gè)參考答案。那么,今天我給大家談?wù)勎业睦斫狻?/p>

另外,我花了1個(gè)多星期把往期的面試題解析配套文檔準(zhǔn)備好了,一共有10W字,想獲取的小伙伴可以從我的個(gè)人煮葉簡介中找到。

1.臟讀、幻讀、不可重復(fù)讀

在SQL操作中,多個(gè)事務(wù)競爭可能會(huì)產(chǎn)生三種不同的現(xiàn)象,分別是臟讀、幻讀、不可重復(fù)讀。

首先來看臟讀,如圖所示,

假設(shè)有兩個(gè)事務(wù)T1/T2同時(shí)在執(zhí)行,T1事務(wù)有可能會(huì)讀取到T2事務(wù)未提交的數(shù)據(jù),但是未提交的事務(wù)T2可能會(huì)回滾,也就導(dǎo)致了T1事務(wù)讀取到最終不一定存在的數(shù)據(jù)產(chǎn)生臟讀的現(xiàn)象。

然后來看幻讀,如圖所示:

假設(shè)有兩個(gè)事務(wù)T1/T2同時(shí)執(zhí)行,事務(wù)T1執(zhí)行范圍查詢或者范圍修改的過程中,事務(wù)T2插入了一條屬于事務(wù)T1范圍內(nèi)的數(shù)據(jù)并且提交了,這時(shí)候在事務(wù)T1查詢發(fā)現(xiàn)多出來了一條數(shù)據(jù),或者在T1事務(wù)發(fā)現(xiàn)這條數(shù)據(jù)沒有被修改,看起來像是產(chǎn)生了幻覺,這種現(xiàn)象稱為幻讀。

最后來看,不可重復(fù)讀,如圖所示:

假設(shè)有兩個(gè)事務(wù)T1/T2同時(shí)執(zhí)行,事務(wù)T1在不同的時(shí)刻讀取同一行數(shù)據(jù)的時(shí)候結(jié)果可能不一樣,從而導(dǎo)致不可重復(fù)讀的問題。

2.事務(wù)隔離級別

那么事務(wù)隔離級別,就是是為了解決多個(gè)并行事務(wù)競爭, 。而這臟讀、幻讀、不可重復(fù)讀這三種現(xiàn)象在實(shí)際應(yīng)用中,有些業(yè)務(wù)場景是不能接受這些現(xiàn)象存在的,所以在SQL標(biāo)準(zhǔn)中定義了四種隔離級別,分別是:

讀未提交,在這種隔離級別下,可能會(huì)產(chǎn)生臟讀、不可重復(fù)讀、幻讀。

讀已提交(RC),在這種隔離級別下,可能會(huì)產(chǎn)生不可重復(fù)讀和幻讀。

可重復(fù)讀(RR),在這種隔離級別下,可能會(huì)產(chǎn)生幻讀

串行化,在這種隔離級別下,多個(gè)并行事務(wù)串行化執(zhí)行,不會(huì)產(chǎn)生安全性問題。

這四種隔離級別里面,只有串行化解決了全部的問題,但這種隔離級別的性能是最低的。

在MySQL里面,InnoDB引擎默認(rèn)的隔離級別是RR(可重復(fù)讀),因?yàn)樗枰WC事務(wù)ACID特性中的隔離性特征。

以上就是我對 MySQL事務(wù)隔離級別的理解。我是被編程耽誤的文藝Tom,如果我的分享對你有幫助,請動(dòng)動(dòng)手指一鍵三連分享給更多的人。關(guān)注我,面試不再難!?


網(wǎng)站題目:談?wù)勀銓ySQL事務(wù)隔離級別的理解
分享URL:http://m.5511xx.com/article/cdshioo.html