ドキュメントのsys.dm_exec_query_stats警告の実際的な影響は何ですか?


10

ドキュメントsys.dm_exec_query_statsは次のように記載されています。

サーバーで現在実行中のワークロードがある場合、sys.dm_exec_query_statsの最初のクエリで不正確な結果が生成される可能性があります。クエリを再実行することで、より正確な結果を判断できます。

私は時々、アクティブなワークロード中にそのDMVを照会し、正確な結果を好みます。上記の警告を実際に適用する方法がわかりません。DMVを常に2回クエリし、2番目の結果セットを使用する方が正確です。それは少し難しいと感じます。DMVが不正確になる可能性があることに注意して、分析に組み込むことができますか?その場合、行の欠落、古い値、一貫性のない行など、どのような不正確さが表示される可能性がありますか?

sys.dm_exec_query_statsアクティブなワークロード中に使用する場合のベストプラクティスは何ですか?

回答:


6

文章をよりわかりやすくするためにドキュメントを更新しました。その意図は、DMVに対してクエリを実行すると、完了したアイテムのみが出力され、処理中のアイテムは出力されないことをユーザーに伝えることでした。したがって、ワークロード全体を実行して、すべてが確実にキャプチャされるようにします。

新しい表現は次のようになり、以前の表現が組み込まれたさまざまなDMVが適用されます。

sys.dm_exec_query_statsの結果は、データが完了したクエリのみを反映しており、処理中のクエリを反映していないため、実行ごとに異なる場合があります。


4

上記の警告を実際に適用する方法がわかりません。

それは漠然としているからです。ドキュメントページの最後に、フィードバックを残すためのスペースがあります。それがだれでもそのドキュメントページの履歴を調べ、その警告が追加された理由を確認できる唯一の方法です(まだ必要な場合、または更新する必要がある場合)。

SQL Server 2017 CU 15での実装をざっと見てみましたが、合計が各ステートメントの実行の最後にのみ更新されることを除いて、不整合(または「不正確」)を予期する特別な理由はないようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.