亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

萌新!mysql死鎖后,究竟是等待超時,還是直接報錯回滾,或者在不同情況下不同表現?萬分感謝

萌新!mysql死鎖后,究竟是等待超時,還是直接報錯回滾,或者在不同情況下不同表現?萬分感謝

郎朗坤 2019-08-21 13:46:48
我看到有些文章說,針對死鎖問題,要設置合理的死鎖超時時間。但是有的又說InnoDB將自動檢測事務死鎖,并立刻回滾,返回錯誤。我試了一下,發現是“InnoDB將自動檢測事務死鎖,并立刻回滾,返回錯誤?!备蠈嶒灲Y果。所以mysql死鎖后,究竟是等待超時,還是直接報錯回滾,或者在不同情況下不同表現?如果“InnoDB將自動檢測事務死鎖,并立刻回滾,返回錯誤?!笔钦_狀況,那很多文章說的”死鎖等待超時時間”是個什么概念?
查看完整描述

2 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

死鎖超時時間應該指的是鎖等待時間,參數為innodb_lock_wait_timeout
這兩個處理方法對應的是不同的情況
死鎖檢測:默認開啟,InnoDB在加鎖的時候會檢測加鎖后是否會造成死鎖,如果會就回滾代價最小的那一個事務
鎖等待超時時間:一是為了處理檢測不出來的那種死鎖,二是避免等待正常鎖(非死鎖,可能是大事務)時間過長
                            
查看完整回答
反對 回復 2019-08-21
?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

我認為死鎖并不是能夠百分百檢查出來的一種問題,所以能夠檢查出來的死鎖肯定是立即報錯了,傻乎乎等著超時不是很傻嗎?
那如果是不能檢查出來的死鎖,設置超時機制就是有必要的了。
                            
查看完整回答
反對 回復 2019-08-21
  • 2 回答
  • 0 關注
  • 275 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號