ストアドプロシージャの利点|科目A-1(応用情報技術者) 令和6年 春期午前試験 問25

出典:令和6年春期 午前 問25 分野:システム構成要素 / システムの構成
ストアドプロシージャの利点はどれか。
  • ア:アプリケーションプログラムからネットワークを介してDBMSにアクセスする場合,両者間の通信量を減少させる。
  • イ:アプリケーションプログラムからの一連の要求を一括して処理することによって,DBMS内の実行計画の数を減少させる。
  • ウ:アプリケーションプログラムからの一連の要求を一括して処理することによって,DBMS内の必要バッファ数を減少させる。
  • エ:データが格納されているディスク装置へのI/O回数を減少させる。
解説

ストアドプロシージャは、複数のSQL文などの処理手順をあらかじめDBMS側に登録しておき、アプリケーションから呼び出して実行する仕組みです。

アプリケーション側からSQL文を1文ずつ送信するのではなく、ストアドプロシージャを1回呼び出すことで一連の処理をDBMS側で実行できるため、アプリケーションとDBMSの間を流れる通信量や通信回数を減らすことができます。

したがって、アが適切です。

❌他選択肢が誤りの理由
イ:アプリケーションプログラムからの一連の要求を一括して処理することによって,DBMS内の実行計画の数を減少させる。
⇒ストアドプロシージャの主な利点は、アプリケーションとDBMS間の通信量や通信回数を減らせることです。一連の処理をまとめたからといって、DBMS内で必要となる実行計画そのものの数を必ず減らせるわけではありません。
ウ:アプリケーションプログラムからの一連の要求を一括して処理することによって,DBMS内の必要バッファ数を減少させる。
⇒ストアドプロシージャを利用しても、DBMSが処理に必要とするバッファ数が直接減少するとは限りません。通信量の削減とは別の要素です。
エ:データが格納されているディスク装置へのI/O回数を減少させる。
⇒ストアドプロシージャを利用しても、必要なデータの読込みや書込みに伴うディスクI/Oが必ず減るわけではありません。減少するのは主に、アプリケーションとDBMS間のネットワーク通信です。
TSUNAGARU-ADVICE

まず押さえたいこと

ストアドプロシージャは、複数のSQL処理などをDBMS側にまとめて登録し、必要なときに一括実行する仕組みです。アプリケーションからSQLを何度も送る必要が減るため、クライアントとDBMSの間の通信回数や通信量を抑えやすくなります。

迷ったときの判断軸

ストアドプロシージャを使っても、実行計画の数や必要なバッファ数、ディスクI/O回数が必ず減るわけではありません。「処理をDBMS側にまとめることで、ネットワーク越しのやり取りを減らせる」ことが代表的な利点です。

科目Bにつなげるために

特にプロフェッショナルデジタルスキル(データ・AI)試験合格を目指す方は、ストアドプロシージャをDBMS側での処理集約、通信量削減、トランザクション処理と結び付けて理解しましょう。アプリケーションとデータベースの役割分担や、処理性能を考える設計にもつながります。