mysql鎖 innodb鎖的基本概念

2021-09-19 13:18:02 字數 719 閱讀 3384

參考:《mysql核心:innodb儲存引擎》 第九章

mysql · 引擎特性 · innodb 事務鎖系統簡介:

mysql · 引擎特性 · innodb 鎖子系統** :

mysql · 引擎分析 · innodb行鎖分析 :

測試環境:mysql 5.6.43版本

--基本概念

排他:更新或者刪除

共享:讀取

行級鎖:行鎖(排他x、共享s)

表級鎖:意向鎖(排他ix、共享is),自增鎖(ai)

多類度鎖定:允許行級鎖和表級鎖同時存在

上面五種鎖的相容性如下:

鎖和隔離級別的基本概念 參考:mysql隔離級別與鎖

MySQL的InnoDB鎖機制

在innodb的事務隔離級別是可重複讀級別且innodb locks unsafe for binlog禁用的前提下,mysql的鎖機制經過測試為 1.當update和delete操作的時候,mysql的加鎖機制大概為三步 1 對where條件後面的條件進行鎖索引區域操作,如果沒有壓上索引,則整個索...

mysql鎖 innodb間隙鎖死鎖分析

前言 在上篇裡分析了一次mysql死鎖問題,後來又深入研究了下死鎖的其他場景,innodb間隙鎖場景下也可能會發生死鎖,所以進一步鞏固下間隙鎖的知識 gap鎖定義 1.gap就是索引樹中插入新記錄的空隙 2.相應的gap鎖就是加在gap上的鎖 gap鎖作用 防止幻讀,通過間隙鎖阻止特定條件的新記錄的...

MySQL鎖之 InnoDB儲存引擎及其鎖機制

首先要解決的乙個誤區就是 innodb儲存引擎是基於事務的。而前面博文所講的myisam儲存引擎是不支援事務的。那麼什麼是基於事務的呢?複製過來一段我覺得講得還不錯的話 在預設的情況下,mysql 從自動提交 autocommit 模式執行,這種模式會在每條語句執行完畢後把它作出的修改立刻提交給資料...