デッドロックの原因に関して

デッドロックさん  
(No.1)
H17 設問4
デッドロックの原因に
  複数のトランザクションが’在庫’テーブルの複数の行に対して互いに逆順に更新することがあるから
とありました。

逆順というのがいまいちイメージできていません
  トランザクションAが①⇒②と処理を実行する
  トランザクションAが②⇒①と処理を実行する
ことがあるのでしょうか?
トランザクションの処理は上から番号順に実行されるのではないのですか?

よろしくお願いします。
2020.03.07 09:46
localdbさん 
(No.2)
トランザクションの処理は上から番号順に実行されます。

「複数のトランザクションが’在庫’テーブルの複数の行に対して互いに逆順に更新することがあるから」
これは、⑦内で在庫テーブルの行の更新順が逆ということです。
トランザクションA:商品番号の昇順で更新
トランザクションB:商品番号の降順で更新

受注入力画面の行番号順に処理を行うとこのようなことが発生してしまうので
ソートしましょうということです。
2020.03.07 15:04
デッドロックさん  
(No.3)
ありがとうございます!
それで次の問の答えが商品順にソートとなるんですね。

納得できました。
ありがとうございます。
2020.03.07 21:41

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop