【发布时间】:2019-05-27 19:37:41
【问题描述】:
让我们考虑两个并发的 SQL 事务:
X = 0
T1: | T2:
begin | begin
set serializable level | set serializable level
|
WRITE(X,1)
| READ(X) : 0
COMMIT |
| COMMIT
我已经用 PosgreSQL 对其进行了测试。
为什么T2 正确提交?两个事务都具有可序列化级别。所以,在我看来,在 T2 开始后,X 被修改了。所以,T2:COMMIT 应该会失败。为什么没有?
【问题讨论】:
标签: sql postgresql transactions