問題

問31 データベースサーバを利用したクライアントサーバシステムにおいて,大量のSQL文が発生することによってクライアントとサーバ間の通信負荷が問題となった。このときの解決策として,適切なものはどれか。

ア インデックスの見直し
イ ストアドプロシージャ機能の利用
ウ データベースの再編成
エ 動的SQLの利用

テクノロジ系>技術要素>データベース>データ操作

解説と解答

 クライアントサーバシステムでSQLを使ってデータを参照すると,実行途中に膨大なデータのやりとりがネットワークを流れます。しかし,SQLプログラムをサーバ側に保存して実行すると,サーバとクライアント間では,パラメータと実行結果のみがやりとりされ,ネットワークの負荷が大幅に減ります。これを,ストアドプロシージャと呼びます。よって,選択肢イが正解です。

 インデックスを見直すとインデックスを利用するデータへのアクセスは高速になりますが,通信量は軽減しません。よって選択肢アは誤りです。

 データベースの再編成は,長期間の利用で断片化した空き領域をまとめることです。記憶領域の有効活用につながりますが,通信量は軽減しません。よって選択肢ウも誤りです。

 動的SQLの利用は,アプリケーション実行時にSQLを生成する方法です。処理の柔軟性は高まりますが,通信量は軽減しません。そのため選択肢エも誤りです。

 以上より正解は,選択肢イです。

佐塚 彰夫(さづか あきお)
アイティ・アシスト 代表取締役
ITに関するコンサルティングや教育を実施するアイティ・アシストの代表。新人研修やプロジェクトマネージャ育成研修をはじめ,基本情報技術者試験,応用情報技術者試験,プロジェクトマネージャ試験などの試験対策研修の実績も豊富。著書に「短期完全マスター 基本情報技術者 2009年版」などがある。