応用情報技術者 2024年 春期 午前2 問25
問題文
ストアドプロシージャの利点はどれか。
選択肢
ア:アプリケーションプログラムからネットワークを介してDBMSにアクセスする場合、両者間の通信量を減少させる。(正解)
イ:アプリケーションプログラムからの一連の要求を一括して処理することによって,DBMS内の実行計画の数を減少させる。
ウ:アプリケーションプログラムからの一連の要求を一括して処理することによって,DBMS内の必要バッファ数を減少させる。
エ:データが格納されているディスク装置へのI/O回数を減少させる。
ストアドプロシージャの利点とは【午前2 解説】
要点まとめ
- 結論:ストアドプロシージャはアプリケーションとDBMS間の通信量を減らし、効率的なデータ処理を実現します。
- 根拠:ネットワーク越しの複数のSQL実行をまとめてDBMS内部で処理するため、通信回数が減少します。
- 差がつくポイント:通信量削減の効果を理解し、実行計画やバッファ、I/O回数との違いを正確に区別することが重要です。
正解の理由
ア: アプリケーションプログラムからネットワークを介してDBMSにアクセスする場合、両者間の通信量を減少させる。
ストアドプロシージャは複数のSQL文をDBMS内部にまとめて置き、アプリケーションからは一度の呼び出しで処理を完結させられます。これにより、ネットワークを介した通信回数が大幅に減り、通信遅延や負荷を軽減します。
ストアドプロシージャは複数のSQL文をDBMS内部にまとめて置き、アプリケーションからは一度の呼び出しで処理を完結させられます。これにより、ネットワークを介した通信回数が大幅に減り、通信遅延や負荷を軽減します。
よくある誤解
ストアドプロシージャはDBMSの実行計画数やバッファ数、ディスクI/O回数を直接減らすものではありません。これらは別の最適化技術や設計による影響が大きいです。
解法ステップ
- ストアドプロシージャの定義と役割を確認する。
- アプリケーションとDBMS間の通信の特徴を理解する。
- 通信量削減の仕組みを考える。
- 選択肢の内容が通信量削減に該当するかを判断する。
- 他の選択肢が示す効果とストアドプロシージャの特徴を比較する。
選択肢別の誤答解説
- イ: 実行計画の数はSQL文の種類やDBMSの最適化機能に依存し、ストアドプロシージャ自体が減少させるわけではありません。
- ウ: 必要バッファ数はメモリ管理やクエリの性質によるため、ストアドプロシージャの利用で直接減るとは限りません。
- エ: ディスクI/O回数はインデックス設計やキャッシュ戦略に影響され、ストアドプロシージャの主な利点ではありません。
補足コラム
ストアドプロシージャはセキュリティ向上やコードの再利用性、保守性の向上にも寄与します。また、DBMS内部で処理が完結するため、処理速度の向上やトランザクション管理の一元化も期待できます。
FAQ
Q: ストアドプロシージャはなぜ通信量を減らせるのですか?
A: 複数のSQL文をまとめてDBMS内部で実行するため、アプリケーションとDBMS間の往復回数が減るからです。
A: 複数のSQL文をまとめてDBMS内部で実行するため、アプリケーションとDBMS間の往復回数が減るからです。
Q: ストアドプロシージャはすべての性能問題を解決しますか?
A: いいえ。通信量削減には効果的ですが、実行計画やI/O回数の最適化は別途検討が必要です。
A: いいえ。通信量削減には効果的ですが、実行計画やI/O回数の最適化は別途検討が必要です。
関連キーワード: ストアドプロシージャ、通信量削減、DBMS, SQL, ネットワーク効率

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

