sql >> データベース >  >> RDS >> Sqlserver

SSMSで正常に実行されるSQLクエリは、ASP.NETでは非常に低速で実行されます

    起こりうることはいろいろあります。

    まず、Ivan G.は、接続パラメーターとSETオプションがSSMSとASP.NETクライアントで異なる可能性があることを正しく理解しています。アクセスできる場合は、プロファイラーで調べる価値があります。

    次に、SSMSでクエリを連続して複数回実行した場合、結果がキャッシュされている可能性があります。そのため、SSMSではクエリが非常に高速に実行されます。初めてSSMSを開いて実行しようとしたときに実行速度が遅いが、その後速度が上がる場合は、キャッシュが実行されていることを示しています。

    結合に1つの句を追加すると速度が低下する理由については、テーブルについて詳しく知らなければ理由を言うのは難しいですが、それが可能だったのは不可能ではありません。 BATCH_INGRにインデックスはありますか これには、FACTORYの両方が含まれます およびINGR_CODEINGR_CODEを含めたので、これが必要になる場合があります あなたの参加条件で。

    調べるための最良の方法は、INGR_CODEがある場合とない場合のクエリプランを確認することです。 節とそれがどのように異なるかを見てください。一方のクエリのコストは、もう一方のクエリよりも大きいですか?以前にはなかったテーブルスキャンはありますか?インデックスシークはインデックススキャンに変わりましたか?



    1. SQLite JSON_GROUP_ARRAY()

    2. MySQL結合クエリでIFステートメントを使用するにはどうすればよいですか?

    3. MySQLでのトランザクションの処理

    4. データベースエラー:位置0に行がありません