为什么这个事务调度不可序列化?
Why is this transaction schedule not serializable?
我正在复习我的数据库课程的练习题。
我们得到了交易时间表:
T1 T2
Read(A)
Write(B)
Commit
Read(B)
Write(B)
Commit(B)
书上说上面不是连载,但为什么呢?
在我看来,您可以 运行 T2 然后 运行 T1 并获得相同的结果。
这只是一个定义问题——您的示例是可序列化的,但不是串行的。
串行时间表 是一个每个事务一次发生一个的时间表。
可序列化计划 是一种可以在保留结果的同时转换为串行计划的计划。
我正在复习我的数据库课程的练习题。
我们得到了交易时间表:
T1 T2
Read(A)
Write(B)
Commit
Read(B)
Write(B)
Commit(B)
书上说上面不是连载,但为什么呢?
在我看来,您可以 运行 T2 然后 运行 T1 并获得相同的结果。
这只是一个定义问题——您的示例是可序列化的,但不是串行的。
串行时间表 是一个每个事务一次发生一个的时间表。
可序列化计划 是一种可以在保留结果的同时转换为串行计划的计划。