1. 程式人生 > >MySQL行鎖、間隙鎖、Next-Key鎖

MySQL行鎖、間隙鎖、Next-Key鎖

都是 innodb 排它鎖 包括 文章 防止 key 查詢 排它

InnoDB是一個支持行鎖的存儲引擎,它有三種行鎖的算法:

  1. Record Lock:行鎖,單個行記錄上的鎖。
  2. Gap Lock:間隙鎖,鎖定一個範圍,但不包括記錄本身。GAP鎖的目的,是為了防止幻讀、防止間隙內有新數據插入、防止已存在的數據更新為間隙內的數據。
  3. Next-Key Lock:1+2,鎖定一個範圍,並且鎖定記錄本身。對於行的查詢,都是采用該方法,主要目的是解決幻讀的問題。InnoDB默認加鎖方式是next-key 鎖。

這三種鎖都是排它鎖(X鎖)。

要詳細了解間隙鎖可以參考這篇文章:https://www.cnblogs.com/crazylqy/p/7821481.html

######################

MySQL行鎖、間隙鎖、Next-Key鎖