В чем разница между last_worker_time и last_elapsed_time в DMV sys.dm_exec_query_stats?

11

что означает значения last_worker_time и last_elapsed_time в DMV sys.dm_exec_query_stats и в чем разница между ними?

когда я запускаю ниже запроса

    SELECT TOP 20 
qs.last_worker_time, qs.last_worker_time/1000000 last_worker_time_in_S,
qs.last_elapsed_time, qs.last_elapsed_time/1000000 last_elapsed_time_in_S
FROM sys.dm_exec_query_stats qs
order by qs.last_worker_time desc

Я получаю результат, как показано ниже.

введите описание изображения здесь

Я заметил, что либо они равны, либо прошедшее время больше рабочего времени. Я хотел бы понять значимость того и другого, поэтому это также может помочь мне в настройке производительности.


источник

Ответы:

16

Рабочее время - это время, когда задача (и) была эффективно активна, занимала планировщик и выполняла код (т.е. не была приостановлена). Истекшее время - это время на часах. В запросе DOP 1 рабочее время будет не более истекшего времени, меньше, если задача была приостановлена ​​в любой момент во время выполнения (таким образом, время на часах опережало, а время на работе - нет). При DOP> 1 рабочее время агрегируется, поэтому оно может превышать истекшее время, но все еще подлежит приостановке.

Существенная разница между рабочим временем и прошедшим временем указывает на блокировку, рассмотрим рабочий 682616 против прошедшего 11509766: это запрос, который заблокирован на 11 секунд, ожидая чего-то (вероятно, блокировки).

Ремус Русану
источник
Примечание: DOP означает «степень параллелизма»; 1 означает, что весь запрос обрабатывается одним ЦП, более одного означает, что задание разделено на потоки, каждый из которых может выполняться другим ЦП.
RDFozz
@RDFozz Извините, я знаю, что это старая тема. Просто хотел сделать небольшое исправление к тому, что ты сказал. DOP применяется к каждому оператору в плане выполнения запроса. Таким образом, у вас может быть несколько потоков, выполняемых на запрос, но не на оператор. sqlmag.com/blog/common-misconception-about-maxdop
SpaceGhost440