版本信息:MySQL 5.6.30 RR repeatable read
MySQL初始状态:
下面4种情况有人可以解释一下为什么吗?锁的范围是哪些?为什么有的会阻塞,有的不会阻塞?
**情况1. **
**情况2. **
情况3.
**情况4. **
版本信息:MySQL 5.6.30 RR repeatable read
MySQL初始状态:
下面4种情况有人可以解释一下为什么吗?锁的范围是哪些?为什么有的会阻塞,有的不会阻塞?
**情况1. **
**情况2. **
情况3.
**情况4. **
不知道为什么截图显示这么小,提问如下:
MySQL 5.6.30 RR(repeatable read)
MySQL initial state:
DROP TABLE if EXISTS t;
CREATE TABLE t(
idint(11) NOT NULL,
cint(11) DEFAULT NULL,
d int(11) DEFAULT NULL,
PRIMARY KEY (id),
KEY c (c) )
ENGINE=InnoDB;
insert into t values(0,0,0),(5,5,5),(10,10,10),(15,15,15),(20,20,20),(25,25,25);
下面4种情况有人可以解释一下为什么吗?锁的范围是哪些?为什么有的会阻塞,有的不会阻塞?
execution order:
session A:
begin;
select id from t where c>=15 and c<=20 order by c desc for update;
session B:
insert into t values(4,5,6); #blocked
execution order:
session A:
begin;
select * from t where c>=15 and c<=20 order by c desc lock in share mode;
session B:
insert into t values(4,5,6); #blocked