repeatable read级别中,select lock in share mode,造成另外的事务无法insert操作

来源:3-15 锁模块之事务并发访问产生的问题以及事务隔离机制_2

qq_啊哒_0

2019-08-21

innoDB默认是行级锁,一个事务中select… lock in share mode,另一个事务无法insert操作,是由于第一个事务select操作没有走索引而上了表级锁,才造成另一个事务insert写锁阻塞而无法操作吗?

写回答

1回答

翔仔

2019-08-22

同学好,另外一个事务无法insert操作是因为它要insert的地方被gap锁锁了,并不是表级锁哈,比如你锁的是id为1的数据,而此时数据有 1 2 3 4 只有1 被select lock in share mode,那么insert 5是不会被锁的

0
2
翔仔
回复
江宏晖
同学好,不走索引会上表锁,主要是select后面省略号如果有where并且走索引的话就是我说的情况
2020-05-27
共2条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8382 学习 · 1865 问题

查看课程