SQL Server Management Studio と ASP.NET アプリケーション間のパフォーマンスの差異
SQL クエリの実行時に、重大なパフォーマンスの差異が発生することは珍しくありません。 SQL Server Management Studio (SSMS) と Web アプリケーションの間。このようなパフォーマンスの問題は、不可解でイライラする可能性があります。この場合、SSMS では数秒で実行されるクエリが、ASP.NET アプリケーションで実行するには数分かかります。
パラメータ スニッフィングの調査
この差異の考えられる説明の 1 つこれはパラメータ スニッフィングとして知られる現象です。パラメーター スニッフィングは、SQL Server クエリ オプティマイザーが、コンパイル中に指定されたパラメーターのデータ型と値に基づいて、同じクエリに対して異なる実行プランを使用する場合に発生します。
指定されたクエリでは、@customerID パラメーターがフィルターに使用されます。結果。クエリが SSMS で実行される場合、オプティマイザーは @customerID の特定の値に基づいて、より効率的な実行プランを選択する場合があります。ただし、クエリが ASP.NET アプリケーションで実行される場合、その時点での @customerID のデータ型または値が異なるため、オプティマイザーは最適性の低いプランを使用してクエリをコンパイルする可能性があります。
緩和策パラメータ スニッフィング
パラメータ スニッフィングを軽減するには、次の点を考慮してください。 Strategies:
以上がSQL クエリが SSMS よりも ASP.NET ではるかに遅いのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。