在数据库事务管理中。严格的时间表是
T1 T2
R(A)
W(A)
R(A)
W(A)
Commit;
Commit;
这是一个严格的时间表。因为我们遵循的是基本规则。如果T2读取由T1编写的值,那么T1提交应该在T2提交之前。
此计划也是级联计划的子集。因为如果T1失败,T2将被回滚。因此,严格调度是级联调度的子集。此时间表也是可恢复的时间表。,所以我们可以得出结论,级联调度是可恢复调度的子集。
T1 T2
R(A)
W(A)
Commit;
R(A)
W(A)
Commit;
上面的时间表是级联较少和可恢复的。但还有一个疑问出现在我的脑海里。这个时间表(下面)是什么?
T1 T2 T3
R(A)
W(A)
R(A)
W(A)
Commit;
Commit;
R(A)
W(A)
Commit;
T1和T2是级联的,而T3不是。是级联和可恢复的
发布于 2015-10-22 14:09:05
在这里,事务T1和T2是级联和可恢复的(因为T2读取由T1编写的A,T1在T2之前提交)。T3和(T1 + T2)是无级联的。因为所有的级联调度都是可恢复的,所以所有的T1、T2、T3都是可恢复的。
看看这个:http://coddicted.com/recoverable-and-cascadeless-schedules/
发布于 2015-10-02 08:55:43
T1 & T2是可恢复的,因为首先启动的事务是首先提交的事务。而且,在W(A)之后T1中的任何T2故障都会导致两个事务的回滚,因此T1 &T2也是级联的。
https://stackoverflow.com/questions/21938218
复制相似问题