数据库事务隔离级别

如果用锁来实现各个隔离级别

读未提交:读写都不加锁

读已提交:写加锁,如果某行被加写锁,那就不能读

可重复读:读加锁,读写锁互斥

串行化:整个事务加锁

 

不存在单纯的间隙锁,InnoDB加的都是Next-Key锁,既会锁行,也会锁间隙。

比如:where num = 30 会锁<30的区间和>30的区间,以及30本身。

再比如:where num > 10 and num < 30 会锁10和30,以及(10,30)的区间

 

不可重复读与幻读的区别

不可重复读:第一次读时,行数据值为A,第二次读时,发现行数据值变成了B

幻读:第一次读时,没有A记录,第二次读时,蹦出来一条A记录

 

https://blog.csdn.net/silyvin/article/details/79320634

https://tech.meituan.com/2014/08/20/innodb-lock.html

你可能感兴趣的:(linux)