讀鎖導(dǎo)致的死鎖問題

執(zhí)行更新命令 提示:1205 - Lock wait timeout exceeded; try restarting transaction笼恰,
where 字段都加了索引

UPDATE `xxxx` 
SET `year_month` = '2024-02',
`product_code` = 'D05509',
`in_site_marketing_fee` = 0,
`off_site_marketing_fee` = 0,
`marketing_fee` = 0 ,
`cap` = 0,
`high_point_target` = 0 ,
`product_price` = 0.00,
`product_price_standard` = 0.00,
`product_price_reserve` = 0.00,
`source_currency` = 'EUR',
`target_currency` = 'USD',
`currency_rate` = 1.086094,
`rmb_currency_rate` = 7.721800,
`sale_channel` = 'FBA' 
WHERE
    (
        `year_month` = '2024-02' 
    AND `product_code` = 'D05509' 
    AND `sale_channel` = 'FBA')

檢查鎖的情況

SELECT * FROM information_schema.INNODB_TRX;

4987483303  RUNNING 2024-02-01 01:52:33         2   5688838 select * from `v4_multi_platform_order_shipping_address` where (`multi_platform_order_id` = '5317011100523468413') limit 1  fetching rows   1   1   2   1136    1   0   0   READ COMMITTED  1   1       0   0   0   0
4987250474  RUNNING 2024-02-01 00:54:25         1   5668274         0   1   1   1136    1   0   0   READ COMMITTED  1   1       0   0   0   0
4987244335  RUNNING 2024-02-01 00:52:08         1   5667482         0   1   1   1136    1   0   0   READ COMMITTED  1   1       0   0   0   0
4987237781  RUNNING 2024-02-01 00:48:51         1   5666348         0   1   1   1136    1   0   0   READ COMMITTED  1   1       0   0   0   0
4987234624  RUNNING 2024-02-01 00:45:00         1   5665014         0   1   1   1136    1   0   0   READ COMMITTED  1   1       0   0   0   0
4987229365  RUNNING 2024-02-01 00:35:58         2   5661606         0   1   2   1136    1   0   0   READ COMMITTED  1   1       0   0   0   0

解決 刪除這些鎖就插入成功了


在MySQL中,通常情況下扔役,讀操作(如SELECT語句)不會阻塞寫操作(如UPDATE、INSERT词身、DELETE語句)厅目。然而,某些特定情況下法严,讀操作可能會間接導(dǎo)致寫操作被阻塞损敷,進(jìn)而影響數(shù)據(jù)的更新。這種情況可能由以下因素引起:

1. 鎖升級或元數(shù)據(jù)鎖
在某些情況下深啤,長時間運行的讀操作可能會導(dǎo)致鎖升級(例如從行級鎖升級到表級鎖)拗馒,或持有元數(shù)據(jù)鎖,從而間接阻塞寫操作溯街。特別是在涉及到表結(jié)構(gòu)更改(如ALTER TABLE)的場景中诱桂,元數(shù)據(jù)鎖更常見。
2. 事務(wù)隔離級別
在某些較高的事務(wù)隔離級別(如可重復(fù)讀REPEATABLE READ或串行化SERIALIZABLE)呈昔,長時間運行的讀事務(wù)可能會創(chuàng)建一致性視圖挥等,保持對讀取數(shù)據(jù)的鎖,從而阻塞對相同數(shù)據(jù)的寫操作堤尾。
3. InnoDB行鎖定
InnoDB通過索引來對數(shù)據(jù)行進(jìn)行鎖定肝劲。如果讀操作使用了不合適的索引或進(jìn)行了全表掃描,可能會間接影響到寫操作嘗試鎖定的行。
4. 死鎖
雖然不太常見辞槐,但是在某些復(fù)雜的事務(wù)場景中掷漱,讀操作可能與其他寫操作形成死鎖,尤其是在涉及多個表或行的復(fù)雜查詢中榄檬。
解決辦法和預(yù)防措施:
優(yōu)化查詢:確保查詢盡可能高效卜范,使用適當(dāng)?shù)乃饕苊馊頀呙琛?控制事務(wù)大新拱瘛:避免長時間運行的事務(wù)海雪,確保事務(wù)盡可能短,以釋放鎖資源犬缨。
評估隔離級別:合理設(shè)置事務(wù)隔離級別喳魏,根據(jù)應(yīng)用的具體需求進(jìn)行權(quán)衡。
監(jiān)控和分析鎖:定期監(jiān)控數(shù)據(jù)庫的鎖情況怀薛,分析死鎖日志刺彩,找出導(dǎo)致鎖問題的根本原因。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末枝恋,一起剝皮案震驚了整個濱河市创倔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌焚碌,老刑警劉巖畦攘,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異十电,居然都是意外死亡知押,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門鹃骂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來台盯,“玉大人,你說我怎么就攤上這事畏线【仓眩” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵寝殴,是天一觀的道長蒿叠。 經(jīng)常有香客問我,道長蚣常,這世上最難降的妖魔是什么市咽? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮抵蚊,結(jié)果婚禮上魂务,老公的妹妹穿的比我還像新娘曼验。我一直安慰自己,他們只是感情好粘姜,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著熔酷,像睡著了一般孤紧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拒秘,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天号显,我揣著相機(jī)與錄音,去河邊找鬼躺酒。 笑死押蚤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的羹应。 我是一名探鬼主播揽碘,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼园匹!你這毒婦竟也來了雳刺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤裸违,失蹤者是張志新(化名)和其女友劉穎掖桦,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體供汛,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡枪汪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了怔昨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雀久。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖朱监,靈堂內(nèi)的尸體忽然破棺而出岸啡,到底是詐尸還是另有隱情,我是刑警寧澤赫编,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布巡蘸,位于F島的核電站,受9級特大地震影響擂送,放射性物質(zhì)發(fā)生泄漏悦荒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一嘹吨、第九天 我趴在偏房一處隱蔽的房頂上張望搬味。 院中可真熱鬧,春花似錦、人聲如沸碰纬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悦析。三九已至寿桨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間强戴,已是汗流浹背亭螟。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留骑歹,地道東北人预烙。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像道媚,于是被迫代替她去往敵國和親扁掸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

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