起こりうることはいろいろあります。
まず、Ivan G.は、接続パラメーターとSETオプションがSSMSとASP.NETクライアントで異なる可能性があることを正しく理解しています。アクセスできる場合は、プロファイラーで調べる価値があります。
次に、SSMSでクエリを連続して複数回実行した場合、結果がキャッシュされている可能性があります。そのため、SSMSではクエリが非常に高速に実行されます。初めてSSMSを開いて実行しようとしたときに実行速度が遅いが、その後速度が上がる場合は、キャッシュが実行されていることを示しています。
結合に1つの句を追加すると速度が低下する理由については、テーブルについて詳しく知らなければ理由を言うのは難しいですが、それが可能だったのは不可能ではありません。 BATCH_INGR
にインデックスはありますか これには、FACTORY
の両方が含まれます およびINGR_CODE
? INGR_CODE
を含めたので、これが必要になる場合があります あなたの参加条件で。
調べるための最良の方法は、INGR_CODE
がある場合とない場合のクエリプランを確認することです。 節とそれがどのように異なるかを見てください。一方のクエリのコストは、もう一方のクエリよりも大きいですか?以前にはなかったテーブルスキャンはありますか?インデックスシークはインデックススキャンに変わりましたか?