码迷,mamicode.com
首页 > 数据库 > 详细

MySQL锁的分类及算法

时间:2018-08-21 15:19:55      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:不包含   使用   rdl   插入   比较   范围   table   next   head   

MySQL中锁包含表级锁和行级锁两个大类。表级锁是意向锁,有IX,IS,一般在行级锁之前使用;行级锁则是传统的S和X锁。这些锁的兼容特性如下:

IS IX S X
IS 兼容 兼容 兼容 不兼容
IX 兼容 兼容 不兼容 不兼容
S 兼容 不兼容 兼容 不兼容
X 不兼容 不兼容 不兼容 不兼容

InnoDB存储引擎中行锁算法有3种,分别是:
* Record Lock 单个行记录上锁

  • Gap Lock 间隙锁,锁定一个范围,但不包含记录本身
  • Next-Key Lock GapLock+RecordLock

Record Lock比较容易理解,GapLock需要注意的是,它锁定的范围,既包含左间隙,也包含右间隙。Gap Lock的作用,是为了阻止多个事务将记录插入到同一个范围内,从而导致幻影读。

MySQL锁的分类及算法

标签:不包含   使用   rdl   插入   比较   范围   table   next   head   

原文地址:http://blog.51cto.com/10705830/2162400

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!