H29春 午後I 問2 設問3(2)

ムーンライトながらさん  
(No.1)
はじめまして。今年の春にSCを受験して、秋にDBを受験予定の者です。

H29春 午後I 問2 設問3(2)について、この問題の解き方がわかりません。

オとカはそれぞれ、「出庫元在庫コード」と「部品番号」が当てはまるそうですが、
どうしてそうなるのかが解説を読んでもわかりませんでした。

丸投げのようで恐縮ですが、どなたか詳しく教えていただけますと幸いです。
2024.06.29 21:56
みかんさん 
(No.2)
> どうしてそうなるのか

  在庫『同じ倉庫コードと部品番号』を更新しようとする際に、並列多重プロセス各々が「じゃあ俺がやるよ!、いやここは俺がやるよ!」とロック解放の待ちが生じている。「どうぞどうぞ」が理想形なので、最初に上手に配分しましょう。どう配分しますか?

しかし、実際は、タイムトライアルなので

  設問3の(1)で、“在庫”テーブルの倉庫コードと部品番号の話が始まり、(2)で、“キ“テーブルのオとカの話(出庫番号云々・・・)の話に。対になる言葉を埋めていきましょう。
2024.06.30 10:13
ムーンライトながらさん  
(No.3)
みかんさん

返信、ありがとうございます。確認するのが遅くなりました。

ボトルネックを削減できるのは、
出庫元倉庫コードと部品番号の昇順で在庫テーブルを読み込むことで、
在庫テーブルへのランダムアクセスを減らせるからという解釈であっていますか?
2024.07.01 22:05
みかんさん 
(No.4)
  出庫元倉庫コードと部品番号の組み合わせが同じレコードがある。複数のプロセスに配分されると解放待ちが生じる。

|出庫番号|出庫元倉庫コード|部品番号| … 
| 1 | XXX | 0001 | …→→配分→→プロセス●(在庫更新中)
| 2 | XXX | 0001 | …→→配分→→プロセス▲(解放待ち)
| 3 | XXX | 0001 | …→→配分→→プロセス■(解放待ち)

  単独のプロセスに配分されると(プロセス間の)解放待ちは生じない。

|出庫番号|出庫元倉庫コード|部品番号| … 
| 1 | XXX | 0001 | …→→配分→→プロセス●
| 2 | XXX | 0001 | …→→配分→→プロセス●
| 3 | XXX | 0001 | …→→配分→→プロセス●
| 4 | あああ | 0001 | …→→配分→→プロセス▲
| 5 | 111111 | 0001 | …→→配分→→プロセス■

  在庫の参照・更新処理がプロセス間で重ならなくなったので、設問3(1)のボトルネック解消。
2024.07.02 01:26
ムーンライトながらさん  
(No.5)
みかんさん

詳しい解説、ありがとうございました。
参考書(重点対策)の解説の意味がようやく納得できました。
2024.07.03 00:04

返信投稿用フォーム

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

その他のスレッド


Pagetop