添加锁以实现可串行化

时间:2017-05-16 14:46:42

标签: serialization transactions schedule

我正在尝试为以下事务计划强制执行可序列化,但我的解决方案计划似乎在某处包含逻辑错误。

    T1: X(Y) W(Y) U(Y)
    T2: S(V) R(V) S(Y) R(Y) W(Z) U(Y) U(V)
    T3: X(V) W(V) U(V)

我会添加以下S锁和X锁:

{{1}}

因此肯定需要锁定W(Y)/ R(Y)和W(V)/ R(V)。 W(Z)不必。但由于某种原因,计划推理器返回逻辑错误。

有谁能告诉我是否犯了错误?

1 个答案:

答案 0 :(得分:1)

此解决方案可能会有所帮助:

T1: X(Y) W(Y) U(Y)

T2: S(V) R(V) S(Y) U(V) R(Y) U(Y) W(Z)

T3: X(V) W(V) U(V)