この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ア

解説

ストアドプロシージャとは、一連のSQL文や処理ロジックをDBMSサーバ側にあらかじめ登録しておく仕組みです。クライアントはプロシージャ名と引数を送るだけで実行できるため、通常の場合(クライアントが複数のSQL文を逐次送信する場合)と比べてネットワーク越しの通信量を大幅に削減できます。たとえば、10ステップのSQL処理をクライアントから実行する場合、通常なら10往復の通信が発生しますが、ストアドプロシージャなら1回の呼び出しで済みます。これが最大の利点であり、選択肢aが正解です。

なぜ他の選択肢は違うのか

選択肢 イ
実行計画はSQL文ごとにDBMSが作成・キャッシュするものであり、ストアドプロシージャで「実行計画の数を減少させる」という説明は正確ではありません。むしろ実行計画を再利用できるメリットがある場合もありますが、「減少」という表現は誤りです。
選択肢 ウ
バッファ使用量の削減はストアドプロシージャの主な利点として説明されるものではありません。バッファ管理はDBMS内部の問題で、ストアドプロシージャの使用で直接減少するわけではありません。
選択肢 エ
ディスクI/Oの削減は主にインデックスやキャッシュ戦略の問題です。ストアドプロシージャの利点とは直接関係ありません。

解くときのポイント

ストアドプロシージャの3大メリット:①ネットワーク通信量の削減②実行計画の再利用(パフォーマンス向上)③セキュリティ(SQLインジェクション対策)。試験では①の通信量削減が定番の正解パターン。