応用情報技術者 2013年 春期 午前2 問27
問題文
クライアントサーバシステムにおいて、クライアント側からストアドプロシージャを利用したときの利点として、適切なものはどれか。
選択肢
ア:クライアントとサーバの間の通信量を削減できる。(正解)
イ:サーバ内でのデータベースファイルへのアクセス量を削減できる。
ウ:サーバのメモリ使用量を削減できる。
エ:データの格納領域を削減できる。
クライアントサーバシステムにおけるストアドプロシージャ利用の利点【午前2 解説】
要点まとめ
- 結論:クライアントとサーバの間の通信量を削減できることがストアドプロシージャ利用の最大の利点です。
- 根拠:ストアドプロシージャはサーバ側に保存され、複数のSQL文をまとめて実行できるため、クライアントからの命令回数やデータ送受信量を減らせます。
- 差がつくポイント:通信量削減の効果を理解し、サーバ内のリソース削減や格納領域削減とは異なる点を区別することが重要です。
正解の理由
ストアドプロシージャはサーバに事前に登録された一連の処理をまとめて実行する仕組みです。クライアントは複数のSQL文を個別に送る代わりに、ストアドプロシージャの呼び出しだけを行うため、通信回数と通信量が大幅に減少します。これによりネットワーク負荷が軽減され、応答速度の向上にもつながります。
よくある誤解
ストアドプロシージャがサーバのメモリ使用量やデータベースファイルへのアクセス量を減らすと誤解されがちですが、実際には処理はサーバ側で行われるため、これらのリソース使用は必ずしも減少しません。
解法ステップ
- ストアドプロシージャの定義と役割を確認する。
- クライアントとサーバ間の通信の特徴を理解する。
- ストアドプロシージャ利用時の通信量の変化を考える。
- 選択肢の内容をリソースの種類ごとに分類し、通信量削減に該当するものを選ぶ。
選択肢別の誤答解説
- ア: 正解。通信量削減がストアドプロシージャの代表的な利点。
- イ: サーバ内のデータベースファイルへのアクセス量はストアドプロシージャ利用で必ずしも減らない。処理はサーバ側で行われるため。
- ウ: サーバのメモリ使用量はストアドプロシージャの実行により増加する場合もあり、削減とは言えない。
- エ: データの格納領域はストアドプロシージャの有無で大きく変わらず、削減効果はない。
補足コラム
ストアドプロシージャはパフォーマンス向上だけでなく、セキュリティ強化やメンテナンス性向上にも寄与します。SQL文をクライアント側に持たせずサーバ側で管理するため、不正なSQL実行を防ぎやすくなります。
FAQ
Q: ストアドプロシージャはなぜ通信量を減らせるのですか?
A: 複数のSQL文をまとめてサーバ側で実行できるため、クライアントからの命令回数が減り通信回数が削減されます。
A: 複数のSQL文をまとめてサーバ側で実行できるため、クライアントからの命令回数が減り通信回数が削減されます。
Q: ストアドプロシージャはサーバの負荷を減らしますか?
A: 処理はサーバ側で行うため、サーバのCPUやメモリ負荷は増えることもあります。負荷軽減が目的ではありません。
A: 処理はサーバ側で行うため、サーバのCPUやメモリ負荷は増えることもあります。負荷軽減が目的ではありません。
関連キーワード: ストアドプロシージャ、クライアントサーバシステム、通信量削減、SQL, データベース

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

