【发布时间】:2014-02-06 20:35:34
【问题描述】:
- 开始交易 Tx1
- Tx1 执行
SELECT - 提交 Tx1
- 使用不同的连接在不同的会话中开始事务 Tx2
- Tx2 执行
SELECT - 更新 Tx2 中的行
- 提交 Tx2
- 开始新的交易,Tx1
- 执行选择 - 从第 2 步获取结果(??)
- 提交 Tx1
- 开始交易 Tx1
- 执行选择 - 获得正确的结果,即从 Tx2 提交的更新
很困惑……怎么会这样?它可靠且持续地发生。
【问题讨论】:
-
如果 8 在 7 完成之前开始,并且您使用的隔离级别高于
READ UNCOMITTED,则可能会发生这种情况。 -
事实并非如此 :( 7 肯定在 8 之前发生
标签: mysql sql jdbc transactions innodb