クエリストアを通じて、平均297582の論理読み取りを実行するクエリを見つけました。
そのクエリを少し調整できるかどうかを確認したかった後、クエリを再度実行して、改善があるかどうかを確認しました。
問題は、キャッシュされたプランでコンパイルされたパラメーター値が見つからなかったことです。
何か不足していますか?たぶん、パラメータ値のキャッシュを妨げる何らかの理由/設定?
実行プランをXMLで開いてもパラメーターが見つかりません。
追加情報:クエリは、ステートメントを準備し、sp_prepare
およびsp_execute
を使用して実行するサードパーティアプリケーションによって実行されます。
sp_prepare
は、パラメータの「スニッフィング」を行わないため、パラメータのコンパイルされた値を含みません。クエリを発行すると、統計ヒストグラムではなく密度ベクトルを使用してカーディナリティの推定が行われます。
私は最近、それについてここで一種のブログを書いた:
sp_prepareがsp_executesqlほどパフォーマンスが良くない理由
ブログの投稿を読んでいただければ、この回答で使用した用語のいくつかがもう少し説明されています。