关于innodb加锁问题
来源:3-11 锁模块之MyISAM与InooDB关于锁方面的区别

蜜蜂仔
2019-04-04
为什么innodb没加了读锁前,可以在其他事务中update这一行。而加了读锁后,就不能update了?
这老师不是说sql语句中不显式加lock in share mode, 就是默认读锁吗?
还是说innodb默认就是mvcc行级锁?加了lock in share mode 就变成普通的读锁,所以不能update?
写回答
1回答
-
如果是当前读,即使用lock in share mode,那么由于读锁不能跟写锁共存,也就是加了读锁之后就不能上写锁了,所以update就会被阻塞(update默认加写锁)。innodb默认情况下(不改变隔离级别'REPEATABLE-READ'),如果没有显示声明lock in share mode,默认不加读锁,而是使用MVCC(非阻塞读,不上锁)
012019-04-07
相似问题