令和6年度 春期 応用情報技術者試験 午前 問25

テクノロジデータベース

この問題は2024(R6)春 応用情報技術者 午前に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

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

解答・解説を読む

正解: 選択肢

ストアドプロシージャとは、データベースに対する一連の処理(複数のSQL文や制御構文など)を一つのプログラムにまとめ、データベース管理システム(DBMS)側に保存したものです。事前コンパイルされた状態で保存されるため、効率的に実行できます。ストアドプロシージャを利用する主な利点は以下の通りです。

  • ネットワーク通信量の削減: アプリケーションからストアドプロシージャを呼び出すだけで複数の処理が実行されるため、SQL文を逐一送信して結果を受け取るための通信回数を大きく減らすことができます。
  • 処理速度の向上: 初回実行時にコンパイルや実行計画の作成が行われ、それらがキャッシュされて再利用されるため、実行のオーバーヘッドが減少します。
  • セキュリティの向上: ユーザーに対してテーブルへの直接アクセス権を与えず、ストアドプロシージャの実行権限のみを与えることで、意図しないデータ操作を防ぐことができます。

各選択肢の解説

  • : 正解。アプリケーションとDBMS間で個々のSQL文を何度もやり取りする必要がなくなるため、ネットワークを介した両者間の通信量が減少します。
  • : 誤り。ストアドプロシージャの利用によって実行計画が作成・キャッシュされますが、DBMS内の実行計画の「数」自体を減少させることが利点ではありません。
  • : 誤り。一連の要求を一括して処理しても、処理対象となるデータ量が変わるわけではないため、DBMS内のデータキャッシュ等に必要なバッファ数は減少しません。
  • : 誤り。アクセスする対象のデータ量や必要な操作が変わるわけではないため、データが格納されているディスク装置への物理的なI/O(入出力)回数自体は減少しません。