令和6年度春期 応用情報技術者試験 午前 問25
ストアドプロシージャの利点はどれか。
- ア アプリケーションプログラムからネットワークを介してDBMSにアクセスする場合,両者間の通信量を減少させる。
- イ アプリケーションプログラムからの一連の要求を一括して処理することによって,DBMS内の実行計画の数を減少させる。
- ウ アプリケーションプログラムからの一連の要求を一括して処理することによって,DBMS内の必要バッファ数を減少させる。
- エ データが格納されているディスク装置へのI/O回数を減少させる。
解答・解説を見る
正解:ア
AI解説
ストアドプロシージャとは、複数のSQL文からなる一連の処理をあらかじめDBMSサーバー側に登録しておき、クライアントから1回の呼び出し(実行要求)でまとめて実行できる仕組みである。クライアントとDBMSサーバー間で個々のSQL文を1文ずつやり取りする必要がなくなるため、両者間のネットワーク通信回数・通信量を減少させられる点が最大の利点である。 ア: 正しい。一連のSQL処理をサーバー側でまとめて実行できるため、クライアント-DBMSサーバー間の通信回数・通信量を減少させることができる。 イ: 実行計画はSQL文ごとにDBMSが生成・管理するものであり、ストアドプロシージャを使うこと自体が実行計画の「数」を直接減らす仕組みではない。 ウ: 必要バッファ数はDBMSのメモリ管理・キャッシュ機構によって決まるものであり、ストアドプロシージャの利点として説明される内容ではない。 エ: ディスクI/O回数の減少は、インデックスの利用やバッファリングなど別の技術による効果であり、ストアドプロシージャそのものの利点ではない。 💡 ストアドプロシージャの利点は「サーバー側で複数SQLをまとめて実行→クライアント・サーバー間の通信を削減」という一点に集約して覚えるとよい。似た選択肢(実行計画数・バッファ数・I/O回数の減少)は別のDB高速化技術の説明なので区別すること。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。