📜  门| GATE CS 2010 |第42章

📅  最后修改于: 2021-07-02 16:38:28             🧑  作者: Mango

考虑事务T1,T2和T3的以下时间表:
GATE2010DBMS1
以下哪个调度是上述正确的序列化?
(A) T1->> T3->> T2
(B) T2->> T1->> T3
(C) T2->> T3->> T1
(D) T3->> T1->> T2答案: (A)
解释:

T1可以在T2和T3之前完成,因为在上图中T1的Write(X)与T2和T3中的操作在T1的Write(X)之前发生时没有冲突。
T3应该在T2之前完成,因为T3的Read(Y)与T2的Read(Y)不冲突。同样,T3的Write(X)与T2的Read(Y)和Write(Y)操作不冲突。
解决此问题的另一种方法是创建一个依赖图,并对该拓扑图进行拓扑排序。经过拓扑排序后,我们可以看到序列T1,T3,T2。

这个问题的测验