0

私はあなたの本の第6章、トランザクション処理の原則、およびそこで説明されている更新ロックの概念を読んでいますが、私にはあまり明確ではありません。基本的に、私がはっきりしていないのは、更新ロックを書き込みロックにアップグレードしようとすると、変換デッドロックがロックされないということです。更新ロックから書き込みロックへの変換中にデッドロックが発生しないとしましょう。それでは、次のシナリオはありませんか

u1 [x] r2 [x] w1 [x] w1 [z]w2[z]。

u1 [x]は、トランザクション1がxに更新ロックを持っていることを意味します。

したがって、上記の履歴では、トランザクション2はxでは1の前ですが、zでは1の後にあります。直列化可能性に違反しませんか?

これをクリアしていただければ幸いです。

4

1 に答える 1

0

ああ、nvm、同時読み取り操作がある場合、更新ロックから書き込みロックにアップグレードできないと本に書かれているのを読んだところです。そうそう、そのようにシリアライズ可能性に違反することはありません:)。また、誰かがこれに出くわした場合、読み取りロックを更新ロックにアップグレードすることはできません。これは、ロック変換によるデッドロックが本質的に発生するためです。

于 2013-03-02T21:01:20.723 に答える