sys.dm_exec_query_stats
更新 : 2006 年 12 月 12 日
キャッシュされたクエリ プランの集計パフォーマンス統計を返します。このビューには、キャッシュされたプラン内のクエリ ステートメントごとに 1 行が含まれており、その行の有効期間はプラン自体に関連付けられています。つまり、プランがキャッシュから削除されると、対応する行もこのビューから削除されます。
メモ : |
---|
サーバーで現在実行中のワークロードが存在する場合、sys.dm_exec_query_stats の最初のクエリでは不正確な結果が返されることがあります。クエリを再実行すると、より正確な結果を確認できます。 |
列名 | データ型 | 説明 |
---|---|---|
sql_handle |
varbinary(64) |
クエリが含まれているバッチまたはストアド プロシージャを参照するトークンを指定します。 sql_handle を statement_start_offset および statement_end_offset と共に使用し、sys.dm_exec_sql_text 動的管理関数を呼び出して、クエリの SQL テキストを取得できます。 |
statement_start_offset |
int |
バッチまたは保存されるオブジェクトのテキスト内での、行が示すクエリの開始位置 (バイト単位)。0 で始まります。 |
statement_end_offset |
int |
バッチまたは保存されるオブジェクトのテキスト内での、行が示すクエリの終了位置 (バイト単位)。0 で始まります。値 -1 はバッチの最後を表します。 |
plan_generation_num |
bigint |
再コンパイル後、プランのインスタンスを区別するために使用できるシーケンス番号。 |
plan_handle |
varbinary(64) |
クエリが含まれているコンパイル済みのプランを参照するトークン。この値を sys.dm_exec_query_plan 動的管理関数に渡して、クエリ プランを取得できます。 |
creation_time |
datetime |
プランがコンパイルされた時刻。 |
last_execution_time |
datetime |
前回プランが実行された時刻。 |
execution_count |
bigint |
前回のコンパイル時以降に、プランが実行された回数。 |
total_worker_time |
bigint |
コンパイル後にプランの実行で使用された CPU 時間の合計 (マイクロ秒単位)。 |
last_worker_time |
bigint |
プランを前回実行したときに使用された CPU 時間 (マイクロ秒単位)。 |
min_worker_time |
bigint |
プランの 1 回の実行で使用された最小 CPU 時間 (マイクロ秒単位)。 |
max_worker_time |
bigint |
プランの 1 回の実行で使用された最大 CPU 時間 (マイクロ秒単位)。 |
total_physical_reads |
bigint |
コンパイル後にこのプランの実行で行われた物理読み取りの合計数。 |
last_physical_reads |
bigint |
プランを前回実行したときに行われた物理読み取りの数。 |
min_physical_reads |
bigint |
プランの 1 回の実行で行われた物理読み取りの最小数。 |
max_physical_reads |
bigint |
プランの 1 回の実行で行われた物理読み取りの最大数。 |
total_logical_writes |
bigint |
コンパイル後にプランの実行で行われた論理書き込みの合計数。 |
last_logical_writes |
bigint |
プランを前回実行したときに行われた論理書き込みの数。 |
min_logical_writes |
bigint |
プランの 1 回の実行で行われた論理書き込みの最小数。 |
max_logical_writes |
bigint |
プランの 1 回の実行で行われた論理書き込みの最大数。 |
total_logical_reads |
bigint |
コンパイル後にこのプランの実行で行われた論理読み取りの合計数。 |
last_logical_reads |
bigint |
プランを前回実行したときに行われた論理読み取りの数。 |
min_logical_reads |
bigint |
プランの 1 回の実行で行われた論理読み取りの最小数。 |
max_logical_reads |
bigint |
プランの 1 回の実行で行われた論理読み取りの最大数。 |
total_clr_time |
bigint |
このプランがコンパイルされてから、実行時に Microsoft .NET Framework 共通言語ランタイム (CLR) オブジェクト内部で使用された時間 (マイクロ秒単位)。CLR オブジェクトには、ストアド プロシージャ、関数、トリガ、型、および集計を指定できます。 |
last_clr_time |
bigint |
このプランの前回の実行中に .NET Framework CLR オブジェクト内で実行に使用された時間。CLR オブジェクトには、ストアド プロシージャ、関数、トリガ、型、および集計を指定できます。 |
min_clr_time |
bigint |
プランの 1 回の実行で、.NET Framework CLR オブジェクト内部で使用された最小時間 (マイクロ秒単位)。CLR オブジェクトには、ストアド プロシージャ、関数、トリガ、型、および集計を指定できます。 |
max_clr_time |
bigint |
プランの 1 回の実行で、.NET Framework CLR 内部で使用された最大時間 (マイクロ秒単位)。CLR オブジェクトには、ストアド プロシージャ、関数、トリガ、型、および集計を指定できます。 |
total_elapsed_time |
bigint |
このプランの実行完了までの経過時間の合計 (マイクロ秒単位)。 |
last_elapsed_time |
bigint |
このプランの前回の実行完了までの経過時間 (マイクロ秒単位)。 |
min_elapsed_time |
bigint |
任意のプランの実行完了までの最小経過時間 (マイクロ秒単位)。 |
max_elapsed_time |
bigint |
プランの実行を完了するための最大経過時間 (マイクロ秒単位)。 |
権限
サーバーに対する VIEW SERVER STATE 権限が必要です。
解説
ビュー内の統計は、クエリが完了したときに更新されます。
例
次の例では、CLR の平均時間に基づく上位 5 つのクエリに関する情報を返します。
SELECT TOP 5 creation_time, last_execution_time, total_clr_time,
total_clr_time/execution_count AS [Avg CLR Time], last_clr_time,
execution_count,
SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
((CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset END
- qs.statement_start_offset)/2) + 1) as statement_text
FROM sys.dm_exec_query_stats as qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st
ORDER BY total_clr_time/execution_count DESC;
GO
参照
関連項目
動的管理ビューと動的管理関数
実行関連の動的管理ビューおよび関数
sys.dm_exec_sql_text
sys.dm_exec_query_plan
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 12 月 12 日 |
|
2006 年 4 月 14 日 |
|
2005 年 12 月 5 日 |
|