2

重複の可能性:
sql は ssms で高速に実行され、asp.net では低速です

SQL Server 2005 を使用すると、いくつかの大きなテーブルに対して SQL クエリが実行され、プログラムでタイムアウトになります。しかし、Query Analyzer で実行すると、約 30 秒で終了します。

違いはなぜですか?

4

1 に答える 1

8

通常、これらは SET 設定の違いであり、異なる計画につながります。Management Studio では、プロシージャが作成されたときと同じ設定で実行されている可能性があります。

ASP.Net アプリケーションと SSMS セッションの sys.dm_exec_sessions を見てください。少なくとも 1 つのSET設定が異なっていると推測できます。これはさまざまな計画に寄与する可能性があり (最終的には、これはパラメーター スニッフィングに起因します)、通常、アプリ側はさらに悪化します。

詳細については、これらの他の質問を参照してください。

Erland Sommarskog の記事「Slow in the Application, Fast in SSMS?」もお読みください。

于 2012-09-18T18:45:52.450 に答える