innodb锁机制

innodb中的锁机制原理解析
1.共享锁
S锁,读锁,多个事务共享一把锁,都能访问到数据,只读,不可修改。A
在读,B可读,但是不可写。
select * from count where id = 1 lock on share mode;
2.排他锁
X锁,写锁,不能与其他锁并存。只有当获取排他锁的事务处理完后,其
他操作方可进行。updata 自动加排他锁 -语句后加for update
innodb行锁?锁的是什么?
行锁就是给索引项加锁 ,否则就是表锁。
3.意向共享锁
IS: 表示事务准备给表加共享锁

4.意向排他锁
IX: 在获取排他锁之前,表示给其准备加上排他锁
这两个主要是为了提升性能的。做一个检测,快速返回的
5.自增锁
事务就算没提交,然后退出的话,此时这个事务也会被丢弃掉。
6.临建锁
大于,范围的话,底层相邻叶子(解决幻读)节点间加的锁。左开右闭。
没有匹配上的话,此时退化为间隙锁
在这里插入图片描述

7.间隙锁
没有匹配记录的话,就是间隙锁,锁的区间范围,在这个范围之间。
在这里插入图片描述

8.记录锁
记录锁是 封锁记录,记录锁也叫行锁,
在这里插入图片描述

SELECT * FROM test WHERE id=1 FOR UPDATE;
它会在 id=1 的记录上加上记录锁,以阻止其他事务插入,更新,删除 id=1 这一行。
6、7、8均属于排他锁。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值