首页 > 数据库 > MySQL > 正文

MySQL锁的分类与算法

2024-07-24 12:36:19
字体:
来源:转载
供稿:网友
  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的作用,是为了阻止多个事务将记录插入到同一个范围内,从而导致幻影读。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表