国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

mysql鎖等待處理經(jīng)驗(yàn)分享

IT那活兒 / 917人閱讀
mysql鎖等待處理經(jīng)驗(yàn)分享
1. MySQL數(shù)據(jù)庫(kù)鎖等待信息

經(jīng)業(yè)務(wù)側(cè)反饋,系統(tǒng)MySQL數(shù)據(jù)庫(kù)鎖等待比較嚴(yán)重,查看MySQL數(shù)據(jù)庫(kù)鎖等待情況如下:

可知,鎖等待主要在`**** `.`**** `這個(gè)表上。


2. 表結(jié)構(gòu)信息

查看表結(jié)構(gòu)如下:

可知,表有一個(gè)自增主鍵playlistid和唯一索引createuserid。


3. 死鎖產(chǎn)生原因分析

由innodb auto_increment的鎖定模式設(shè)置為1,可知此模式下所有insert...select類(lèi)語(yǔ)句針對(duì)自增主鍵會(huì)使用auto_inc表級(jí)鎖,并保持到語(yǔ)句結(jié)束。同一時(shí)刻只有一個(gè)語(yǔ)句可以持有auto_inc鎖。
由innodb狀態(tài)信息得知,同時(shí)有多個(gè)事務(wù)并發(fā)對(duì)****這張表進(jìn)行insert操作。事務(wù)1的insert操作會(huì)觸發(fā)unique key的沖突檢查進(jìn)行一個(gè)當(dāng)前讀并加上X鎖,等待持有自增主鍵的auto_inc鎖。事務(wù)2的insert操作首先獲得自增主鍵的auto_inc鎖,此時(shí)為表級(jí)鎖,等待持有對(duì)應(yīng)記錄的X鎖(包含Gap鎖)。此時(shí)事務(wù)1和事務(wù)2造成死鎖,因?yàn)槭聞?wù)1的權(quán)重較小,MySQL選擇回滾事務(wù)1。


4. 優(yōu)化建議

建議修改業(yè)務(wù)邏輯,將insert...select語(yǔ)句修改為insert ingore或者replace的方式。

將多個(gè)事務(wù)的執(zhí)行順序進(jìn)行調(diào)整避免鎖等待。


5. 總 結(jié)

業(yè)務(wù)程序中一定要做好事務(wù)控制,事務(wù)結(jié)束時(shí)務(wù)必確保顯示提交,釋放持有的鎖避免阻塞。程序中應(yīng)盡量保證事務(wù)的原子性,一個(gè)事務(wù)實(shí)現(xiàn)一個(gè)邏輯,避免多個(gè)邏輯混合在一個(gè)事務(wù)中。

END


更多精彩干貨分享

點(diǎn)擊下方名片關(guān)注

IT那活兒

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/129876.html

相關(guān)文章

  • 系統(tǒng)優(yōu)化怎么做-JVM優(yōu)化之開(kāi)篇

    摘要:幾個(gè)死鎖場(chǎng)景兩個(gè)線程相互調(diào)用導(dǎo)致互相等待同步結(jié)束。線程為了檢測(cè)死鎖,它需要遞進(jìn)地檢測(cè)所有被請(qǐng)求的鎖。思考題線程有哪些狀態(tài)這些線程大多處于什么樣的狀態(tài)分布我們可以稱系統(tǒng)運(yùn)行是健康的。 前言 在上一期Tomcat優(yōu)化中,針對(duì)JVM相關(guān)主要參數(shù)做過(guò)一定說(shuō)明,這一期主要介紹進(jìn)行一些概念及經(jīng)驗(yàn)。后面分章節(jié)去講述相關(guān)工具的基本使用。 優(yōu)化優(yōu)先級(jí) 整體來(lái)講,系統(tǒng)優(yōu)化應(yīng)先優(yōu)化架構(gòu)及代碼,來(lái)解決具體功能...

    gecko23 評(píng)論0 收藏0
  • 為什么開(kāi)發(fā)人員必須要了解數(shù)據(jù)庫(kù)

    摘要:小明馬上開(kāi)發(fā)完畢,成功上線。下班過(guò)后,小明回想大紅說(shuō)的話,什么是間隙鎖,什么是插入意向鎖,看來(lái)作為開(kāi)發(fā)者對(duì)數(shù)據(jù)庫(kù)不應(yīng)該只會(huì)寫(xiě)啊,不然遇到一些疑難雜癥完全沒(méi)法解決啊。破壞了數(shù)據(jù)庫(kù)中的隔離性。 1.鎖? 1.1何為鎖 鎖在現(xiàn)實(shí)中的意義為:封閉的器物,以鑰匙或暗碼開(kāi)啟。在計(jì)算機(jī)中的鎖一般用來(lái)管理對(duì)共享資源的并發(fā)訪問(wèn),比如我們java同學(xué)熟悉的Lock,synchronized等都是我們常見(jiàn)的...

    AbnerMing 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<