InnoDB行鎖升級(jí)為表鎖的問題

前幾天跟朋友聊天隧甚,聊起Mysql鎖的問題车荔。他突然問我為什么行鎖會(huì)變成表鎖。
由于解釋半天戚扳,他還沒搞明白忧便,因此用圖形化界面給他演示一下

首先準(zhǔn)備一張簡(jiǎn)單的測(cè)試表

0F3B30CAA2525949EFA66E4EAC001A32.jpg

準(zhǔn)備兩個(gè)窗體,且同時(shí)開啟事務(wù)


77AA6BF61F044740E9091656B4178740.jpg

Session 1
begin;
select * from t1 where name = '張三' for update;

ROLLBACK
COMMIT

/****************************************************************************/
Session 2
begin;
select * from t1 where id = 3 for update;

ROLLBACK
COMMIT

session2 因?yàn)樾墟i升級(jí)為表鎖一直在等待

InnoDB 行級(jí)鎖是通過給索引上的索引項(xiàng)加鎖來實(shí)現(xiàn)的帽借,InnoDB行級(jí)鎖只有通過索引條件檢索數(shù)據(jù)茬腿,才使用行級(jí)鎖;否則,InnoDB使用表鎖 在不通過索引(主 鍵)條件查詢的時(shí)候宜雀,InnoDB是表鎖而不是行鎖。

總結(jié):就是在沒有使用索引的情況下InnoDB就會(huì)使用表級(jí)鎖(共享鎖不會(huì)有這個(gè)情況)

最后給出事務(wù)使用的幾點(diǎn)建議

  • 控制事務(wù)大小握础,減少鎖定的資源量和鎖定時(shí)間長(zhǎng)度辐董。
  • 所有的數(shù)據(jù)檢索都通過索引來完成,從而避免因?yàn)闊o法通過索引加鎖而升級(jí)為表鎖禀综。
  • 減少基于范圍的數(shù)據(jù)檢索過濾條件简烘,避免因?yàn)殚g隙鎖帶來的負(fù)面影響而鎖定了不該鎖定的數(shù)據(jù)。
  • 在業(yè)務(wù)條件允許下定枷,盡量使用較低隔離級(jí)別的事務(wù)隔離孤澎。減少隔離級(jí)別帶來的附加成本。
  • 合理使用索引欠窒,讓innodb在索引上面加鎖的時(shí)候更加準(zhǔn)確覆旭。
  • 在應(yīng)用中盡可能做到訪問的順序執(zhí)行。
  • 如果容易死鎖,就可以考慮使用表鎖來減少死鎖的概率
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末型将,一起剝皮案震驚了整個(gè)濱河市寂祥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌七兜,老刑警劉巖丸凭,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異腕铸,居然都是意外死亡惜犀,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門狠裹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來虽界,“玉大人,你說我怎么就攤上這事酪耳∨遥” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵碗暗,是天一觀的道長(zhǎng)颈将。 經(jīng)常有香客問我,道長(zhǎng)言疗,這世上最難降的妖魔是什么晴圾? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮噪奄,結(jié)果婚禮上死姚,老公的妹妹穿的比我還像新娘。我一直安慰自己勤篮,他們只是感情好都毒,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著碰缔,像睡著了一般账劲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上金抡,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天瀑焦,我揣著相機(jī)與錄音,去河邊找鬼梗肝。 笑死榛瓮,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的巫击。 我是一名探鬼主播禀晓,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼精续,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了匆绣?” 一聲冷哼從身側(cè)響起驻右,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎崎淳,沒想到半個(gè)月后堪夭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拣凹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年森爽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嚣镜。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡爬迟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出菊匿,到底是詐尸還是另有隱情付呕,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布跌捆,位于F島的核電站徽职,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏佩厚。R本人自食惡果不足惜姆钉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抄瓦。 院中可真熱鬧潮瓶,春花似錦、人聲如沸钙姊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽煞额。三九已至悉罕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間立镶,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工类早, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留媚媒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓涩僻,卻偏偏與公主長(zhǎng)得像缭召,于是被迫代替她去往敵國(guó)和親栈顷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容