デッドロックが発生する条件の記述問題について

hogeさん  
(No.1)
R6 午後2問1設問2(3)(a)では
「異なるジョブで★同じ★契約#の行を異なる順に更新するとき」

R4 午後1問3設問2(1)aでは
「★異なる★商品の在庫を逆順で更新することがあり得るから」

似たような設問・解答ですが、★部分が違うというのが気になりました。

私の認識としては、例えばa,bの行でデッドロックが発生する場合
前者は(a,b)と(a,b)が同じ
後者はaとbが異なる
という意味だと思いました。

質問したい内容としては、極論、上記2つの問題では★部分は"同じ"/"異なる"はどちらでも問題ないでしょうか?

質問の意図としては、どちらかに統一して覚えたいためです。
2025.08.27 22:44
ぶどうさん 
DB ブロンズマイスター
(No.2)
> 質問したい内容としては、極論、上記2つの問題では★部分は"同じ"/"異なる"はどちらでも問題ないでしょうか?
 模範解答通りに忖度して下さい。テンプレ回答として両方覚えましょう。
2025.08.28 22:43
わたたさん 
(No.3)
言い回し難しいですよね。
デッドロックが起こる条件をそれなりに書ければ模範回答通りでなくても点数はもらえると思います。

「他トランザクションと異なる(逆の)順番でテーブル(行)を更新する」みたいなことが書けていれば質問者様の気にされているところはそこまで採点に影響しないのではないかなとは思いますが、ただ私自身どちらかというと、「異なるジョブで★同じ★契約#の行を異なる順に更新するとき」のほうがしっくりくるきがします。
2025.08.28 23:15
hogeさん  
(No.4)
ご回答ありがとうございます。

もし本番で同様の問題が出題された場合に
どちらのパターンで記述すべきか?というのは、問題文のどのようなところから判断すればよいでしょうか?
2025.08.28 23:22
hogeさん  
(No.5)
わたたさんもご回答ありがとうございます。
(No.4はぶどうさんへの返信になります)

やはりそのようなイメージですよね。
もし明確に使い分ける基準が無さそうであれば、自分のなかでしっくりくるほうで統一しようかなと思いました。
(異なる順より、逆順のほうが書くの早そうなので、そちらを採用したり…など)

実際には採点者のみぞ知るということで、なかなか答えにくい質問となってしまい申し訳ございません。
2025.08.28 23:45
枝豆5656さん 
(No.6)
R4の回答は違和感があります。任意の2つの行を選べば商品IDは必ず異なるのでわざわざ異なると書く意味が分かりません。ある2つの行の組み合わせに対して逆順に更新するのが原因なので、そのように書くほうが素直かと思いました。
2025.09.15 12:39
aptさん 
(No.7)
枝豆5656さん 
ご回答ありがとうございます。

「異なるジョブで」を入れるか否かなのかな?と予想していたのですが、新しく過去問を解いている中で
H27 午後1 問3 設問1(2)
「★同じ★カード番号の行を異なる順番で更新するから」
ともあったので、その予想も崩れました。

解答例を作る人によって趣味が違うくらいに捉えたほうが良さそうですね。

>任意の2つの行を選べば商品IDは必ず異なるのでわざわざ異なると書く意味が分かりません。

こちらとても納得できたので、★同じ★で型を覚えてしまおうと思います。
2025.09.15 17:16

返信投稿用フォーム

※SQL文は全角文字で記載してください。
※宣伝や迷惑行為を防止するため、当サイト、姉妹サイト、IPAサイト以外のURLを含む記事の投稿はできません。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop