データベースサーバを利用したクライアントサーバシステムにおいて,大量のSQL文が発生することによってクライアントとサーバ間の通信負荷が問題となった。
このときの解決策として,適切なものはどれか。
正答2
解説
正解は2です。
データベースを使うクライアントサーバシステムで、通信負荷を減らす方法を問う問題です。
クライアントがSQL文を1つずつサーバへ送ると、そのたびに通信が発生します。
SQL文の数が多いと、クライアントとサーバの間の通信量が問題になります。
【選択肢別解説】
1:× インデックスの見直しは、サーバ内の検索を速くするための対策です。
クライアントから送るSQL文の数は変わらないので、通信負荷は減りません。
2:○ ストアドプロシージャは、一連のSQL処理をサーバに登録しておく機能です。
クライアントは呼出しを1回送るだけで済むので、通信の回数と量を減らせます。
3:× データベースの再編成は、更新の繰返しで断片化した格納領域を整理する作業です。
サーバ内のアクセス効率は改善しますが、通信負荷の対策にはなりません。
4:× 動的SQLは、実行時にSQL文を組み立てて実行する方式です。
SQL文を送ること自体は変わらず、通信負荷を減らす手段にはなりません。
【ポイント】
ストアドプロシージャの利点は、通信量の削減と、処理をサーバに集めることによる保守性の向上です。
インデックスや再編成は、サーバ側の処理性能の対策として区別します。