応用情報技術者 2009年 春期 午前2 問31
問題文
クライアントサーバシステムにおけるストアドプロシージャに関する記述のうち、誤っているものはどれか。
選択肢
ア:機密性の高いデータに対する処理を特定プロシージャ呼出しに限定することによって、セキュリティを向上させることができる。
イ:システム全体に共通な処理をプロシージャとして格納しておくことによって、処理の標準化を行うことができる。
ウ:データベースへのアクセスを細かい単位でプロシージャ化することによって、処理性能(スループット)を向上させることができる。(正解)
エ:複数のSQL文から成る手続を1回の呼出しで実行できるので、クライアントとサーバ間の通信回数を減らすことができる。
クライアントサーバシステムにおけるストアドプロシージャに関する問題【午前2 解説】
要点まとめ
- 結論:ストアドプロシージャは細かい単位で作ると性能向上にはつながらないため、ウが誤りです。
- 根拠:ストアドプロシージャは複数のSQL文をまとめてサーバ側で処理し通信回数を減らすことで性能向上を図ります。
- 差がつくポイント:処理単位の粒度が細かすぎると通信回数が増え、逆に性能低下を招く点を理解することが重要です。
正解の理由
ウ: データベースへのアクセスを細かい単位でプロシージャ化することによって、処理性能(スループット)を向上させることができる。は誤りです。
ストアドプロシージャは複数のSQL文をまとめてサーバ側で実行し、クライアントとサーバ間の通信回数を減らすことで性能を向上させます。細かい単位でプロシージャ化すると呼び出し回数が増え、通信回数が増加し性能が低下します。
ストアドプロシージャは複数のSQL文をまとめてサーバ側で実行し、クライアントとサーバ間の通信回数を減らすことで性能を向上させます。細かい単位でプロシージャ化すると呼び出し回数が増え、通信回数が増加し性能が低下します。
よくある誤解
ストアドプロシージャは「細かく作れば作るほど性能が良くなる」と誤解されがちですが、通信回数の増加により逆効果になることがあります。
解法ステップ
- ストアドプロシージャの役割を確認する(サーバ側で処理をまとめる)。
- 各選択肢の内容をストアドプロシージャの特徴と照らし合わせる。
- 性能向上の観点から「細かい単位でのプロシージャ化」が適切か検討する。
- 通信回数と処理単位の関係を理解し、誤りを特定する。
選択肢別の誤答解説
- ア: 機密性の高い処理を限定することでセキュリティ向上は正しい。
- イ: 共通処理をプロシージャ化し標準化するのは適切。
- ウ: 細かい単位でのプロシージャ化は通信回数増加で性能低下を招くため誤り。
- エ: 複数SQL文をまとめて1回の呼出しで実行し通信回数削減は正しい。
補足コラム
ストアドプロシージャはデータベースサーバ上に格納されるプログラムで、クライアントからの呼び出しで実行されます。通信回数を減らすことでネットワーク負荷を軽減し、処理効率を高めることが可能です。適切な粒度で設計することが性能最適化の鍵となります。
FAQ
Q: ストアドプロシージャはなぜ性能向上に役立つのですか?
A: 複数のSQL文をまとめてサーバ側で処理し、クライアントとサーバ間の通信回数を減らすためです。
A: 複数のSQL文をまとめてサーバ側で処理し、クライアントとサーバ間の通信回数を減らすためです。
Q: 細かい単位でプロシージャを作ると何が問題ですか?
A: 呼び出し回数が増え通信回数が増加し、かえって性能が低下します。
A: 呼び出し回数が増え通信回数が増加し、かえって性能が低下します。
関連キーワード: ストアドプロシージャ、クライアントサーバシステム、通信回数、処理性能、セキュリティ

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

