2009-05-15 47 views
1

データベースからデータを取得するより効率的な方法は何ですか?SQL Serverクエリのパフォーマンス、大文字大文字小文字の区別とクエリ

ex。 私のアプリケーションの特定の部分は、100以上のオブジェクトを持つことができます。今私はそれを各オブジェクトのデータベースを2回クエリを設定している。アプリケーションのこの部分は定期的に更新され、たとえば2分ごとに更新され、このアプリケーションはおそらく25-30個のPCにインストールされます。私はこれがデータベースからの選択文の数が多いと考えています。この手順を最適化しようと考えています。私はいくつかのテーブルから情報を引き出す必要があり、両方のクエリは結合ステートメントを使用しています。

200回ではなく1回の更新で2回だけクエリを実行するようにクエリを書き直す方が良いでしょうか?たとえば、各オブジェクトを含めるために大きなwhereステートメントを使用し、各オブジェクトの内部ではなく、オブジェクトの外側でデータの処理を行います。 SQL Serverを使用して

は、テーブルに何もインデックスを.NETない、データベースのサイズは、以下10-5th

+0

1行でN回クエリを実行するオーバーヘッドは、1回実行してN行を返すより悪いです。 –

答えて

3

あるすべてのものが等しい場合、いくつかの行を持つ多くの文では、多くの行を持つ少数の文よりも、通常は悪いです。

実際のコードを表示し、より良い回答を得る。

+1

これはまさに私が探していたものです。ありがとう –

+0

1回の実行でN回クエリを実行するオーバーヘッドは、1回実行してN行を返すよりも悪いです。 –

+1

これはすでに受け入れられている回答では不快です。彼のユースケースが何であるかは誰が知っていますか?私はこのノーガットを(正確であるかもしれない)取ってそれと一緒に走って、OPを信頼しない。 –

2

最適化のデフォルトの答えは常に次のようにする必要があります。必要性が明らかになるまで最適化しないでください。フォローアップは次のとおりです。一度それを実証する必要がある場合、および代替のアプローチ:どちらが速いかを判断するには両方の方法を試してください。どちらが速くなるかは予測できませんし、確かにできません。 KMの答えは良いです - クエリが少なくなる傾向がありますが、にはを知る方法があります。

関連する問題