中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【MySQL】MySQL gap lock產生時機

發布時間:2020-08-13 18:00:09 來源:ITPUB博客 閱讀:194 作者:風塵_NULL 欄目:MySQL數據庫
1)提出問題:我們通常說在Repeate read下面,會有next-key lock(LOCK_ORDINARY)對應值0,而READ COMMITTED隔離級別下只會有記錄鎖LOCK_REC_NOT_GAP(對應值1024),那么什么時候會有gap lock(LOCK_GAP)對應值512?


2)官方的一個死鎖例子(之所以會選這個例子,是因為這個例子非常典型,為了更好的效果,我將隔離級別設置為READ COMMITTED):

    創建表并插入數據
    CREATE TABLE `locktest6` (   `id` int(11) NOT NULL,   `a` int(11) NOT NULL,   `b` varchar(30) NOT NULL DEFAULT 'xddd',   PRIMARY KEY (`id`),   UNIQUE KEY `a` (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

    INSERT INTO `locktest6` VALUES (3,2,'xddd'),(9,20,'ddd'),(12,13,'ddd'),(19,7,'cccc'),(20,5,'abcd'),(21,4,'fff');

    開啟三個會話,會話的順序是(1->2->3)
    session 1:
    【MySQL】MySQL gap lock產生時機



    session 2:
    【MySQL】MySQL gap lock產生時機

    session 3
    【MySQL】MySQL gap lock產生時機vps0j6Ubv6D+QXrJTtiqIMkzvvLOmbuQt651k27vMt4lNCrd+xLt83Xp+bzJ7djabpJWJ924oSC27u4ysxRwISmPsmgl4WL6ITNvVfSt1xmv9GX2GNhhtTQpUqi5zNfhNkkw9J1kmkZvgw731wdBItvzq6Trh2mFRxHyNH6Jf08kiUrfIfJvYpHC7fJpFU479loVNhUm4TLyXWgXvqU8v13ecg9wAspmgl5T+BJdH97CCHyIURSmQ6TuHOh2vNV6V5Zq8FArKyNn4EgV8m6XaUVfe2yslchP8nBBlmglgzsxTzzSmwVS3wI96XlRPKZowZ1DWpKhNeILt03HcdqB6WvoqyK4MUDfJyBrcw8p+iLXJqPHFvIxyTO40PqobGlSlhrjYbTK+4Sp8S6SOv0pUHUcJDdvSYF5cx1FF2KTYEbCkSNHm3XYdV9oOV6+4lyCVWga9prfJyJr8X7g5Bc6U1M8kXCu1Ot5mPDIP3n4qfeOgD6D5tbS7u+8wnIschq7j439WWcMqWTSv6lfJSiHOzJkWeJyO3249Pn2hyYcFIQZNzWcQbcsYbN3grFnPCn0g29bjLcajAbNXxLEVm8W1/UL6x8lKRsfnVU+wggLpJXX/eCp6De854fVwPsOMl0pG1sxzcOWEaNDxwUkhn3qp6h2YNKtb/ePdDTKytmUMtm5wLlyNg6S7uO3rlx2e2WS8uM+A9wfKwaW4Ko+c6rmrcHc0+sfRYKZf5dWS03ExLnCArVHiVUCi1EpQhITmV8Hv2pT4YDxPa3JjNpiEy2yKVzlHRtamjMHWxR0Mku4qbZ+dKMmZTcbH3w+MwMkEL8mnGwvz6yr36Hp/O45Xwedinw5lnAgaH/b4pEfulnYH9MLOcX2NaQH3c3L+EUSrz47jiBBC7gfrhubt1tRxQgghhBBCCCGEkAdmx/uundxFrtE1Vc4Sa7KpN7btW9len84Gb95xY6DEg2/uuf2oe0j+D7DpdCsfGLTeAAAAAElFTkSuQmCCAA==">

    實驗現象,這里session2、session3會阻塞(這里讀者可以自己實驗)

    現象分析:
    我們來看阻塞時的鎖獲取與等待情況
                            【MySQL】MySQL gap lock產生時機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">


這里唯一鍵a=17的二級索引加了LOCK_X|LOCK_REC_NOT_GAP|LOCK_REC鎖,其次這條記錄上面還有兩把鎖(LOCK_S|LOCK_ORDINARY|LOCK_WAITTING)在等待,分別是session2與session3的

這里的原因是:
session 1的insert 本來不加鎖(是隱式鎖,隱式鎖是一種延遲加鎖的策略);

當session插入a=17的記錄時,發現與session1重復,這時session2會給session1加鎖,鎖為LOCK_X|LOCK_REC_NOT_GAP|LOCK_REC,同時把自己置為等待狀態LOCK_S|LOCK_ORDINARY|LOCK_WAITTING,注意,這里為什么自己(session2)等待的時候是LOCK_S而不是LOCK_X呢,其實是為了提高并發;

session 3處于等待是因為session1 a=17的記錄已經被session2加上了LOCK_X|LOCK_REC_NOT_GAP|LOCK_REC鎖,而session3的a=17與session1的a=17重復,為了檢測唯一性,也會將自己置為等待狀態,鎖為LOCK_S|LOCK_ORDINARY|LOCK_WAITTING


回滾session1,session3會成為死鎖犧牲品,session2插入成功

session2
【MySQL】MySQL gap lock產生時機
session3

【MySQL】MySQL gap lock產生時機


這是的死鎖情況以及加鎖情況
【MySQL】MySQL gap lock產生時機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">
這里我們發現了gap鎖的蹤跡,我們稍后分析
死鎖犧牲session3之后,這時的session2的加鎖情況
【MySQL】MySQL gap lock產生時機
這里鎖信息連到了一起,哈哈,如何解釋呢,我們稍后分曉


先分析上面的死鎖:
session 1 rollback后,二級索引記錄為(33,17)的記錄的被刪除,上面的session2,session3上的LOCK_S|LOCK_ORDINARY|LOCK_WAITTING將他的gap鎖分別遷移到下一條記錄,即二級索引(20,9)的記錄上由兩把鎖,分別為session2與session占有,鎖為LOCK_S|LOCK_GAP|LOCK_REC,即死鎖圖中的lock mode s lock gap before rec;與此同時,session 2與session3在插入的時候,還要檢測下一條記錄上(即(20,9)的記錄上)的鎖是否與LOCK_X|LOCK_GAP|LOCK_INTENSION沖突,這樣就形成了session2的LOCK_X|LOCK_GAP|LOCK_INTENSION在等待session3 的LOCK_S|LOCK_GAP|LOCK_REC釋放,而session3的LOCK_X|LOCK_GAP|LOCK_INTENSION則在等待session2的LOCK_S|LOCK_GAP|LOCK_REC釋放,這樣就形成了死鎖,這里事務選擇回滾了session3

再分析session2的加鎖情況:
session3回滾后 ,session2獲得了LOCK_X|LOCK_GAP|LOCK_INTENSION鎖與LOCK_S|LOCK_GAP|LOCK_REC,這個鎖加在記錄(20,9)上;heap no 8的記錄即session2插入的記錄也獲得了LOCK_S|LOCK_GAP|LOCK_REC鎖,這是因為插入時,會進行鎖分裂,將heap no 8下一條記錄的(20,9)的鎖LOCK_S|LOCK_GAP|LOCK_REC遷移到了heap no 8的記錄上;為啥上面的鎖信息會連在一起呢,即既有LOCK_S|LOCK_ORDINARY|LOCK_REC又有LOCK_S|LOCK_GAP|LOCK_REC呢,答案是:這里的LOCK_S|LOCK_ORDINARY|LOCK_REC只是表示下面行LOCK_S|LOCK_GAP|LOCK_REC有LOCK_S|LOCK_ORDINARY|LOCK_REC繼承而來,并不表示記錄上還加了LOCK_S|LOCK_ORDINARY|LOCK_REC鎖


3)總結
    gap鎖一般很少見到,當唯一索引檢測重復的值的時候,往往會產生gap鎖;另外當可重復讀隔離級別下,做等值查詢時,也會碰到gap鎖(這個讀者可以自己去實驗),時間倉促,沒有整理。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扶绥县| 涪陵区| 民权县| 沙田区| 仁怀市| 汾阳市| 静海县| 定州市| 晴隆县| 泽州县| 梁山县| 梅州市| 长宁区| 沁阳市| 桃园县| 溧阳市| 汤阴县| 彭州市| 屯昌县| 五峰| 琼海市| 南部县| 循化| 德保县| 贵德县| 滕州市| 饶平县| 旺苍县| 观塘区| 莱州市| 延川县| 紫金县| 黑水县| 沈丘县| 永昌县| 栖霞市| 东宁县| 莆田市| 平乐县| 会宁县| 大新县|