web-dev-qa-db-ja.com

sys.dm_exec_requestsおよびcpu_time

クエリがマルチコアサーバーで実行されていて、クエリが並列スレッドを使用している場合、sys.dm_exec_requests.cpu_timeクエリを実行するすべてのスレッドで消費されるCPU時間を表示しますか?これは事実だと思いますが、それを示すドキュメントは見つかりません。

5
Randy Minder

経過時間は通常、要求が実行されていた時間とCPU-すべてのプロセスの累積時間を示します。たとえば、通常、リクエストのDOPが4の場合、CPUは経過時間よりもx4倍高くなります。DOPが1の場合、経過時間はCPU時間と一致します。

1
Natalia

実行中に使用されているスレッドの数を確認するには、request_idによってsys.dm_exec_requestsをsys.dm_os_tasksに結合し、worker_addressによってsys.dm_os_workersをsys.dm_os_tasksに結合します。次に、sys.dm_os_workersをthread_addressによってsys.dm_os_threadsに結合します。

0
Data Flux