- Parallel plans mean that cpu_time can be greater than total_elapsed time.
- Therefore, per-query wait time is not possible to determine accurately from DMVs on servers with more than one CPU thread.
- When total_elapsed_time > cpu_time, we can conclude from DMVs that a query waited for at least (total_elapsed_time - cpu_time).
- When cpu_time >= total_elapsed_time, we can't conclude from DMVs whether a particular query waited, nor for how long.
Not homework questions; just putting together some documentation for DMV queries that I'm writing.
sys.dm_os_waiting_tasks
IIRCsys.dm_exec_requests
just contains details of thread 0. – Martin Smith Jan 15 '13 at 18:15