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

MySQL InnoDB锁

时间:2019-10-01 18:20:33      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:关闭   get   需要   自增   意向锁   gap   ODB   级别   获取   

1. 行级锁:共享锁(S)和排他锁(X)

  共享锁:允许持锁事务读取一行,事务A持有S锁,事务B请求S锁时,会立即被赋予,若请求X锁,需等待释放S锁才可以拿;

  排他锁:允许持锁事务更新或删除一行,事务A持有X锁,事务B请求S、X锁时,需等待释放X锁才可以拿;

 

2. 表级锁:意向锁(I)和自增锁

  意向锁:表明一个事务稍后要获取表中某一行的行级锁,分为意向共享锁(IS)和意向排他锁(IX),事务A要想获取S锁,先必须有IS锁或更高级别的锁,一个事务要想获取X锁,必须先有IX锁;

  自增锁:表明事务插入自增列的时候需要的锁,一个事务正在插入记录,其他事务插入记录需要等待

 

3. 记录锁:锁定索引记录的锁

 

4. 间隙锁(gap):是索引记录间隙上的锁,或者是对第一个或者最后一个索引记录之前的间隙的锁定,对于唯一索引来说,不需要间隙锁,可以被设置关闭

 

5. 插入意向锁:插入一行数据之前的意向锁

  多个事务在相同的索引间隙插入记录时,如果不是插入间隙中相同的位置,就不冲突,无需相互等待

 

可参考:官网InnoDB锁

MySQL InnoDB锁

标签:关闭   get   需要   自增   意向锁   gap   ODB   级别   获取   

原文地址:https://www.cnblogs.com/ruhuanxingyun/p/11615513.html

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