2009-03-23 16 views
1

私はこの接続プールの問題だった:SQLクエリを実行しすぎると、実行時間が394になりますか?

How to solve a connection pool problem between ASP.NET and SQL Server?

をそして私は今、SQLプロファイラを使用してトレースしています、と私はいくつかのクエリが終了し、データを返すために、約400時間を取ることが分かりました。

この値は大きすぎますか?

以前の接続プールに問題がありますか?

答えて

3

400は、400ミリ秒または0.4秒を意味します。

これは長すぎるかどうかは本当に依存します。これがフロントページやその他のトラフィックの多い領域である場合、これはイントラネットサイトでなければあまりにも多くなります。そのデータを取得する方法を再考するか、キャッシュを使用して実際にクエリを実行する必要がある回数を減らす必要があります。

これがレポートまたはその他の関連ページの場合は、400ミリ秒は行外ではありません。最高の場合、全体的なユーザーエクスペリエンスを向上させるためにクエリを少し速く実行できるかどうかを確認することができます。

また、チューニング・アドバイザを実行して、正しい索引がないために問合せが低速で実行されているかどうかを判断することもできます。

2

これはアプリケーションによって異なります。これは1/2秒未満です。数千万の行のデータを扱っているなら、かなり良いかもしれません。一方、1000人のユーザーがいて、データセットが小さく、このクエリが絶えず実行されている場合は、クエリのパフォーマンスを調べる必要があります。

1

このような並べ替えは、どのようなクエリを使用しているか、実行中の頻度、およびユーザーの期待する応答時間に依存します。

小さなデータセットでクエリが遅い場合、SQL、インデックス、またはWebサーバーとデータベースサーバー間のネットワーク接続に問題がある可能性があります。クエリの最適化はおそらくこれに対処するための最善の最初のタスクです。

また、クエリが頻繁に実行されている場合、または応答時間が必要なシステムの領域では、クエリを少し最適化することをお勧めします。

クエリがその期間実行する必要があり、さらに最適化することはできませんが、データが頻繁に変更されない場合、おそらくアプリケーションに結果をキャッシュすると応答時間が向上します。

パフォーマンスを気にしないユーザーが少ない場合(レポートを実行している管理者など)、心配する必要はありません。

関連する問題