手动验证MySQL Innodb RR级别加锁 需要注意的几个点

记录几个坑

  • 优化器在表行数比较少的时候 会使用全表扫描,会造成全表所有的行加锁,所以需要使用force index 强制使用索引 来实现gap-lock(间隙锁)的应用

  • next-lock 加锁 会锁住 第一个不满足条件行

  • 例如下表 number有唯一索引

id name number
1 Jack 1
2 Mike 2
3 Jon 3
4 Trevor 4

执行

update set name = 'Franklin' where number < 2;

实际上 id=3 的行也会被锁住

posted @ 2021-01-10 16:11  Richard_Winters  阅读(77)  评论(0)    收藏  举报