令和4年 午後I 問3 設問2 について

初受験大学生さん  
(No.1)
令和4年 午後I 問3 設問2 について質問です。
私は、この問いは、デッドロックになる理由、デッドロックにならない理由を記述するものだと思いました。
なので、「更新順を○○順で統一しているから」、「○○と△△で更新順が逆順になることがあるから」のように記述しました。

某サイトの解答速報をみると、違うような解凍方法をしていました。

私の記述方法でも間違いではないでしょうか?

初受験でよくわかっていない部分もありますので、ご回答いただけると嬉しいです。
よろしくお願いいたしますm(_ _)m
2022.10.13 13:14
GinSanaさん 
DB シルバーマイスター
(No.2)
IPAの平成31年のときのデッドロックがらみの解答は「品番順に実行する」とかだったので、まあ「商品コードの順に実行していないから」ってのがIPA的な解答になりますかね。aは注文明細がベースなので
更新順が逆順というか、本件の場合順序がばらつくので、逆という概念でもないんですよね。ランダムにバッティングした場合にそうなる、というものなので
itecの解答を見てみましたが、なんというか記述がipaらしい書き方じゃなくて、まあそうなんだろうけど、だいぶフリーダムだな、とか思ったりしました。
2022.10.13 16:29
gawaさん 
(No.3)
(1)は理由で、(2)は対策なので、合ってると思います
個人的には、表ロックが行ロックかの仕様を問題文に明記してほしかったです。索引探索だから行ロックなのは当然でしょ?ということなのかもしれませんが・・・。

a
注文番号001で商品A→B→Cの順に入力して注文
注文番号002で商品B→Aの順に入力して注文
の2つのトランザクションが実行された場合、在庫の商品A、Bの行でデッドロックします。「複数の同一商品が複数の注文で異なる入力順で注文されうるから」みたいな書き方かなと
b
主キー順に処理するとあるので、これは素直にそう解答するのでよいはずです
c
cの場合は、異なるトランザクション間で同じ注文明細の行をロックし合うことがないから、順番が云々以前に、そもそもデッドロックしないです。
2022.10.14 11:56
GinSanaさん 
DB シルバーマイスター
(No.4)
平成25年のときは、デッドロックの問題で行ロックと表ロックの説明はありましたね。
そのあたりも知ってる前提で説明が省略されたのか・・・
2022.10.14 14:23
gawaさん 
(No.5)
問題文には、しれっと
「主キーには索引が定義されている」
「ロック開放待ちで処理時間が遅くなってることはない」

という記述があったので、”索引探索だから常識的に行ロックだよ”、”ロック開放待ちは起きてないから表ロックはしてないよ”、というのを読み取れってことですかね。なかなかレベルが高いですね・・・
2022.10.15 13:30

返信投稿用フォーム

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

その他のスレッド


Pagetop