锁定转换更新锁

时间:2013-03-02 20:38:39

标签: database transactions locking

我正在阅读你的书第6章,交易处理原理和更新锁的概念,对我来说并不是很清楚。基本上,我不清楚的是,当您尝试将更新锁升级到写锁时,不会发生锁定转换死锁。假设我们说在将更新锁转换为写锁期间不会发生死锁。那么你可以没有以下场景

U1 [X] R2 [X]的W1 [X]的W1 [Z] W2 [Z]。

u1 [x]表示事务1在x上有更新锁定。

所以在上面的历史记录中,事务2在x之前是1之前,而在z之后是1之后。这是否违反了可串行性?

如果你能为我清楚这一点,我将非常感激。

1 个答案:

答案 0 :(得分:0)

哦,我刚刚读到这本书说如果你有并发的读取操作,你就无法从更新锁升级到写锁。所以是的,它不会违反可串行化的方式:)。此外,如果有人碰巧遇到这种情况,您无法将读锁升级到更新锁,因为这也会导致锁转换导致的死锁。