仙尊脔到她哭h粗话h,小蜜桃3,亚洲天然素人无码专区,国产精品久久久久av,成人性生交大片免费

千鋒教育-做有情懷、有良心、有品質(zhi)的職業教育機(ji)構

手機站
千鋒教育

千鋒學(xue)習站 | 隨時隨地免費學(xue)

千鋒教育

掃(sao)一掃(sao)進(jin)入千鋒手(shou)機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免(mian)費(fei)學(xue)習課程

當(dang)前位置(zhi):首頁  >  技術干貨  > InnoDB的next-key lock為什么是左開右閉的?

InnoDB的next-key lock為什么是左開右閉的?

來源:千鋒教育
發布人:xqq
時間: 2023-10-11 22:48:02 1697035682

一、InnoDB的next-key lock為什么是左開右閉的

InnoDB的(de)next-key lock本身的(de)設計方(fang)案(an)就(jiu)是左開右閉(bi)的(de),例如

select * from t where c2 = 10 for update;

則(ze)鎖定的是 c2=10 這條記錄本身,以及其(qi)索引(yin)節點(dian)上 c2=10 前面的那個gap。

但在RR隔(ge)離級別中,為了(le)避免發(fa)生幻讀,需要(yao)把所(suo)有(you)可能插入 c2=10 這(zhe)個值的(de)位置(zhi)都加上鎖,所(suo)以對 i=10 后面的(de)gap也(ye)會加鎖。

例如,當前t表(biao)上的(de)值有以(yi)下(id列(lie)是主(zhu)鍵(jian),c2列(lie)是普通索引,c3列(lie)無(wu)索引)

id? c2? c3

1?? 1?? 1

2?? 3?? 2

10? 5?? 10

15? 15? 15

20? 10? 20

30? 20? 20

那么對于(yu) c2 這(zhe)個輔助索引,其索引記(ji)錄真實的(de)值是下面這(zhe)樣的(de)(要包含id列值,innodb的(de)特性(xing)決(jue)定的(de))

c2? id

1?? 1

3?? 2

5?? 10

10? 20

15? 15

20? 30

那么上面的加鎖請求

select * from t where c2 = 10 for update;

真正要(yao)加鎖的(de)范圍是 (5, 15),也就是說,除(chu)了 c2 = 10 這條記(ji)錄外,還(huan)要(yao)對 5~10、10~15這兩個(ge)gap也加上鎖,才能(neng)保證(RR隔離級別)事務期間,這兩個(ge)gap也不(bu)會插入(ru)c2=10的(de)記(ji)錄,而導致發生(sheng)幻讀。

延伸閱讀:

二、InnoDB是什么

InnoDB 是(shi) MySQL 上名列(lie)前(qian)茅(mao)個提(ti)(ti)供(gong)外鍵(jian)約束的(de)數(shu)據(ju)存(cun)儲(chu)引擎,除了提(ti)(ti)供(gong)事務處(chu)理(li)外,InnoDB 還支持行(xing)鎖(suo),提(ti)(ti)供(gong)和 Oracle 一樣的(de)一致(zhi)性的(de)不(bu)加鎖(suo)讀取,能(neng)增(zeng)加并發讀的(de)用戶(hu)數(shu)量(liang)并提(ti)(ti)高性能(neng),不(bu)會增(zeng)加鎖(suo)的(de)數(shu)量(liang)。InnoDB 的(de)設計(ji)目標是(shi)處(chu)理(li)大(da)容量(liang)數(shu)據(ju)時最大(da)化性能(neng),它的(de) CPU 利(li)用率是(shi)其他(ta)所有(you)基于磁盤的(de)關系數(shu)據(ju)庫引擎中(zhong)最有(you)效(xiao)率的(de)。

InnoDB 是一套放在(zai) MySQL 后臺的(de)(de)完整數據庫系統,InnoDB 有它自己的(de)(de)緩(huan)(huan)沖池,能緩(huan)(huan)沖數據和索引,InnoDB 還把數據和索引存放在(zai)表(biao)空間(jian)里面,可能包含好幾(ji)個(ge)文(wen)件(jian),這和 MyISAM 表(biao)完全不同,在(zai) MyISAM 中(zhong),表(biao)被存放在(zai)單獨的(de)(de)文(wen)件(jian)中(zhong),InnoDB 表(biao)的(de)(de)大小(xiao)只受限于操(cao)作(zuo)系統文(wen)件(jian)的(de)(de)大小(xiao),一般為 2GB。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT