通常クライアントサーバ型アプリケーション(特にデータベースアプリケーション)では、サーバマシンの性能(特に処理速度)を気にして作りません
したがって、クライアントマシンの性能は最低限のモノであると仮定しているとも言えます
纏めると、下記のような事を前提にしているかと思われます
さて、この内でパフォーマンスに影響するのはどこでしょうか?
答えは全部です
ですが、通常は「1.」が最も影響すると言えるでしょう
また、「3.」も結構大きく影響する事がありますが、通常ではLANであるためそう多くは影響を及ぼす事はありません
したがって、パフォーマンスの改善は「1.」を重点的に行なう事となります
一番手っ取り早いのはやはりサーバーの性能を上げる事ですがそうも行かない事が多いのもまた現状といえます
たとえば、データベースアプリケーションの場合であれば、Indexを効果的に使用したりします
また、「2.」の性能を上げて「推奨環境+α」としてクライアント側での処理を多くする事もよく使われます
ここでは、後者を例に上げてみましょう
ここでの前提条件は、下記の二つです
それでは、どうすれば解消するのかを順に書いて行きましょう
こんな感じでしょうか、それではそれぞれについて補足して行きましょう
他にも、たとえば、INSERT+DELETEよりもUPDATEの方が遅いのであれば常にINSERT+DELETEで更新するとかも考えられます
こうやってある意味無駄とも思える最適化の方法を羅列して行き、その中で使えるモノを振り分けて行きます
これらの振り分けは、この他の環境で使えるとも限りませんのである意味で一発モノであると言えるでしょう