4

SQL Server のアクティビティ モニターを見ていると、[最近の高価なクエリ] タブの下にある [実行/分] 列が、本来よりもはるかに高い数値になっているように見えることに気付きました。この数字は実際には何を意味するのでしょうか。SQL クエリが 1 分間に実行される文字通りの回数ですか、それともこの数字は何か別のことを表しているのでしょうか? 助けてくれてありがとう!

4

1 に答える 1

2

分析している「高価なクエリ」は、他のサブクエリを使用している可能性があります (10 としましょう)。それでは、「実行/分」カウントが 10 倍になっている可能性はありますか? サブクエリごとに実行計画が再コンパイルされるので?

ここでこの答えを見つけました:

Execution/Min は、クエリの 1 分あたりの実行数を意味し、sys.dm_exec_query_stats の execution_count 列は、プランが最後にコンパイルされてから実行された回数を示します。クエリの実行プランが実行中に再コンパイルまたは再生成された場合、 execution_count は 0 にリセットされ、再カウントされるため、 execution_count の値が Execution/Min と等しくないのは正常です。たとえば、この挿入ステートメントがトランザクション ブロックに含まれている場合、実行プランの再コンパイルは、再コンパイルされた他のステートメントの実行プランによって引き起こされる可能性があるため、execution_count は 0 にリセットされ、再カウントされます。

詳細については、以下のリンクを参照してください。

sys.dm_exec_query_stats: http://msdn.microsoft.com/en-us/library/ms189741.aspx アクティビティ モニター: http://msdn.microsoft.com/en-us/library/cc879320(v=SQL.100) .aspx

ありがとう、ウェイリン・チャオ

于 2012-11-30T18:41:54.143 に答える