mysql锁的实际场景分析

2023-12-27 22:18:53

这篇博文主要记录mysql实际场景下遇到的问题,并不是为了八股文,不怎么场景的也不会去分析,主打一个实战,所以mysql的锁场景,此处默认都是RR隔离级别并且存储引擎是InnoDB
锁问题:

  • 间隙锁在哪些场景下需要用到,作用是什么?
  • update、insert、delete、select* from update 这些操作时是产生行锁还是表锁或者是间隙锁,分别产生的场景又是什么呢?

接下里就围绕这些问题来分析,首先什么是行锁,就不多说了肯定是已存在的唯一定位的数据采会产生行锁,表锁顾名思义就是给这张表每行数据都加上行锁及数据之间的添加间隙锁,效果就相当于表锁

深入探究mysql间隙锁的原理

由于本次博客不是为了八股文 ,但是肯定需要一些基础理论,我直接引用下别的博主的文章
深入探究mysql间隙锁的原理
看完之后至少大家知道两点

  1. 间隙锁产生的原因之一就是SELECT * FROM student FOR UPDATE
  2. 作用是为了解决幻读,并且是当前读(在RR级别下,MVCC主要解决大部分的幻读,但是只是解决了快照度,针对一些当前读没办法,只能使用间隙锁)

间隙锁除了上面的语句导致的 还有其他的吗?肯定不止的,接下去我会继续分析

文章来源:https://blog.csdn.net/lucky_love816/article/details/135249561
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。