MVCC数据库隔离模式是否允许正在进行的事务查看其他事务插入(和提交)的行?
例如,给定:
- 桌子
names[id BIGINT NOT NULL, name VARCHAR(30), PRIMARY KEY(id), UNIQUE(name)]
- 交易 T1 和 T2,
T1: open transaction
T2: open transaction
T1: select * from names;
insert into names(name) values("John");
// do something
commit;
T2: select * from names;
insert into names values("John");
// do something
commit;
T2 什么时候第一次意识到新的行?到select
时候?到insert
时候?还是commit
当时?