假设我有两个事务 A 和 B。事务 A 首先开始。然后事务 B 启动,插入一些数据并提交。因此,从事务A(尚未提交)中,我可以看到事务B提交了数据。由于事务A在事务B之前启动,因此它的XID将小于事务B的XID。根据我的理解,事务A只能看到行由 XID 小于事务 A 的事务修改或插入。
在上面的例子中(读已提交隔离级别),当前事务的XID是741,为什么它可以看到XID是742的事务提交的数据?
抱歉,我认为我的例子不够清楚。我同时启动了两个事务A和B,我让事务B更新并插入一些数据,事务A在事务B提交后可以看到这些数据。所以,我想知道 MVCC 规则如何在已提交读隔离级别下工作。