溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

RR與RC隔離級(jí)別下MySQL不同的加鎖解鎖方式有哪些

發(fā)布時(shí)間:2021-11-06 09:12:43 來(lái)源:億速云 閱讀:279 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

小編給大家分享一下RR與RC隔離級(jí)別下MySQL不同的加鎖解鎖方式有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!


|  RC與RR隔離級(jí)別下MySQL不同的加鎖解鎖方式


  • MySQL5.7.21

  • 數(shù)據(jù)準(zhǔn)備

  • 確認(rèn)隔離級(jí)別


  • 同時(shí)開(kāi)啟兩個(gè)會(huì)話,按下圖的流程開(kāi)始操作。

3.半一致讀semi-consistent read

3.1 半一致讀發(fā)生條件

  • innodb_locks_unsafe_for_binlog默認(rèn)為off。 

  • 如果設(shè)置為1,會(huì)禁用gap鎖,但對(duì)于外鍵沖突檢測(cè)(foreign-key constraint checking)或者重復(fù)鍵檢測(cè)(duplicate-key checking)還是會(huì)用到gap鎖。  

  • 啟用innodb_locks_unsafe_for_binlog產(chǎn)生的影響等同于將隔離級(jí)別設(shè)置為RC,不同之處是:

  • 1)innodb_locks_unsafe_for_binlog是全局參數(shù),影響所有session;但隔離級(jí)別可以是全局也可以是會(huì)話級(jí)別。

    2)innodb_locks_unsafe_for_binlog只能在數(shù)據(jù)庫(kù)啟動(dòng)的時(shí)候設(shè)置;但隔離級(jí)別可以隨時(shí)更改。   
    基于上述原因,RC相比于innodb_locks_unsafe_for_binlog會(huì)更好更靈活。 

啟用innodb_locks_unsafe_for_binlog還有以下作用:

  • 環(huán)境準(zhǔn)備

  • 開(kāi)始操作

注:過(guò)程現(xiàn)象滿(mǎn)足RR隔離級(jí)別,也符合設(shè)置innodb_locks_unsafe_for_binlog=ON的情況。因?yàn)榍懊嫠v的啟用innodb_locks_unsafe_for_binlog會(huì)產(chǎn)生作用1與作用2,所以整個(gè)加鎖與解鎖情況與RC隔離級(jí)別類(lèi)似。

看完了這篇文章,相信你對(duì)“RR與RC隔離級(jí)別下MySQL不同的加鎖解鎖方式有哪些”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI