SC情報処理安全確保支援士試験 午前Ⅰ

令和6年度春期 情報処理安全確保支援士 午前Ⅰ 問9

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

ストアドプロシージャの利点はどれか。

選択肢

  1. ア
    アプリケーションプログラムからネットワークを介してDBMSにアクセスする場合、 両者問の通信量を減少させる。
  2. イ
    アプリケーションプログラムからの一連の要求を一括して処理することによって、 DBMS内の実行計画の数を減少させる。
  3. ウ
    アプリケーションプログラムからの一連の要求を一括して処理することによって、 DBMS内の必要バッファ数を減少させる。
  4. エ
    データが格納されているディスク装置への1/0回数を減少させる。
解き方のヒントを見る

DBMSに処理をまとめてお願いすると通信が減るよ

ストアドプロシージャは、いくつものSQL処理をDBMS側にまとめて置いておける仕組みだよ。たとえば、レストランで料理を1品ずつ何度も注文する代わりに、セットメニューとして一度に頼むイメージ。アプリケーションからDBMSへ細かく何度もやり取りしなくてよくなるので、ネットワーク越しの通信量を減らせるんだ。

この問題で問われていること

ポイントは、DBMSの内部資源を直接減らす話ではなく、処理をDBMS側にまとめることでアプリケーションとの往復回数を減らし、通信効率を良くできると見抜くことだよ。

Stored Procedure Benefit

send procedure call once、 process multiple SQL steps inside DBMS

less app-DB round trips\nless network traffic

確認ポイント

  • 実行計画数やバッファ数の削減を主目的としない。
  • ディスク I/O が必ず減るわけではありません。
  • 通信往復の削減がポイントです。
正解と解説を見る

正解

ア

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア(正解)

これは正解だよ。ストアドプロシージャを使うと、アプリ側からSQLを何回も送る代わりに、DBMS側に置いた処理を『これ実行して』と呼び出せるので、ネットワークを行き来する通信量を減らせるんだ。たとえるなら、毎回細かい指示を電話で伝えるより、店員さんに合言葉で定番セットを頼む方が会話が短く済む、という感じだよ。

選択肢イ

これは不正解だよ。一連の処理をまとめて呼べるのはストアドプロシージャの利点だけど、それによってDBMS内の実行計画の数が減る、という説明は主な利点としてはズレているよ。たとえるなら、窓口に『この手続きをまとめてお願い』と言えるようになるだけで、窓口の中にある作業手順書の種類そのものが減るとは限らないんだ。

選択肢ウ

これは不正解だよ。まとめて処理できるからといって、DBMSが作業中に必要とするバッファ、つまり一時的な作業スペースが減るとは限らないんだ。たとえるなら、買い物リストを1枚にまとめても、買った品物を入れる袋や作業台の広さが必ず小さくなるわけではない、ということだよ。

選択肢エ

これは不正解だよ。ストアドプロシージャは、処理の手順をDBMS側にまとめて置いておく仕組みだけど、実際にデータを読む必要があるならディスクへのI/O自体は基本的に発生するんだ。たとえるなら、料理のレシピを厨房に置いて注文をまとめても、材料を冷蔵庫から取り出す回数が必ず減るとは限らない、という感じだよ。

出典:独立行政法人 情報処理推進機構(IPA)令和6年度春期 情報処理安全確保支援士試験 午前Ⅰ 問9(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針