3.行级锁
行级锁介绍
2.间隙锁(Gap Locks): 锁定记录前、记录中、记录后的行 RR隔离级 (可重复读)-- MySQL默认隔离级
二.InnoDB的行级锁,按照功能来说,分为两种:(以下案例都是在同一个事务中)
1.共享读锁(S):允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁共享读不能。
加完锁以后在事务未提交时候同session可以修改操作,和读操作,不同session不可以修改操作但可以读操作。
2.排他写锁(X):允许获得排他写锁的事务更新数据,阻止其他事务取得相同数据集的共享读锁(不是读)和排他写锁。
3.InnoDB也实现了表级锁,也就是意向锁,意向锁是mysql内部使用的,不需要用户干预。
意向共享锁(IS):事务打算给数据行加行共享锁,事务在给一个数据行加共享锁前必须先取得该表的IS锁。
意向排他锁(IX):事务打算给数据行加行排他锁,事务在给一个数据行加排他锁前必须先取得该表的IX锁。
三.间隙锁
下面是案例数据:
id:12345
1.非唯一索引等值(只要number(where后面的)在间隙里(2 3 4),不包含最后一个数(5)则不管id是多少都会阻塞)
update news set number=3 where number=13 ;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 来自公众号JavaKeeper作者:派大新 ❝写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技...