1

我们有两个线程:

第一个线程制作select * from big_table并对其进行迭代。

第二个线程在该表中插入一行(在第一个线程的选择之后),而第一个线程迭代大结果集。第一个线程继续迭代表。

在迭代结束时,第一个线程是否获取第二个线程行插入的值,为什么?

4

1 回答 1

1

看看这个: -

还要考虑一件事——INSERT ... SELECT 实际上在锁定模式下执行读取,因此部分绕过版本控制并检索最新提交的行。所以即使你在 REPEATABLE-READ 模式下操作,这个操作也会在 READ-COMMITTED 中执行

于 2013-08-29T15:08:51.710 回答