total_worker_time in sys.dm_exec_query_stats

  • Quick question,

    Is total worker time dependent on the # of CPU's? Like if I have 8 CPU's, and I assume that everything is evenly spread across processors, would i divide total_worker_time/4 to get the aprroximate duration?

  • No. Total_worker_time is nothing but CPU count. No need to divide. Its the amount of CPU your process used thats it.

  • Nikhil Shikarkhane (10/3/2008)


    No. Total_worker_time is nothing but CPU count. No need to divide. Its the amount of CPU your process used thats it.

    Does it matter if my MAX DOP is 1 or > 1?

  • total_worker_time is sum of time taken by all CPU's ,for all the execution of that particular query... see execution_count...If you divide toatl_worker_time by execution_count it will give you average worker time (which is sum of all CPU's based on you maxdop) for that query.

    if you want to look for a particular instance try for the last_wo0rker time( This is for the latest execution).You can not say that each of the 4 cpu will use the same time. It might be possible that one is taking 10 ms and other 3 are taking 100ms each.. So do not try to draw any conclusion from that. Only conclusion you can draw from this is that total cpu time for a last execution of the query is the last worker time.

    Also, the same query plan might be executed with diff maxdop based on the worker threads at runtime. Thus a query can run with maxdop 4 first time might run with 3 cpu next time...

    GulliMeel

    Finding top n Worst Performing queries[/url]
    Improve the performance of Merge Join(special case)
    How to Post Performance Problem -Gail Shaw[/url]

Viewing 4 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply