-2

そのため、 Sommarskogのクエリプランの謎の記事のように、アプリでは低速でしたが、SSMSでは高速でした。

クエリは、変化する可能性のある多くのパラメータを使用した検索です。奇妙なことに、インデックスを再作成すると、2秒で実行されます。次に、dbcc freeproccacheを呼び出します。これには、sprocを何度実行しても、一貫して40秒かかります。再度インデックスを作成すると、パフォーマンスが回復します。proc cachecを解放すると、最大40秒戻ります。

インデックスを再作成した直後に実行してキャッシュに残り、アプリケーションでも使用できるようにした結果、適切な実行プランを取得するにはどうすればよいですか?

4

1 に答える 1

0

パラメータ スニッフィングの問題である可能性があります。パラメーター スニッフィングは、基本的に SQL Server が渡すパラメーターの最初のセットを使用して、将来のすべての実行に使用される実行プランを決定することです。これらのパラメーターが、実行されるさまざまな条件のすべてに対して適切に機能する実行計画を生成する場合、これは良いことですが、場合によっては問題になる可能性があります。

これを確認する簡単な方法の 1 つは、 RECOMPILE クエリ ヒントを使用して、高速化する fi を確認することです。このルートに進むことにした場合は、実稼働環境に配置する前に、行っていることの結果を完全に理解していることを確認してください。

于 2013-01-29T23:58:13.133 に答える