Доступ к содержимому кеша планов запросов SQL Server можно получить через представление sys.dm_exec_query_stats.
Используя это представление, можно извлечь такую полезную информацию, как:
- время последнего запуска (поле last_execution_time)
- количество запусков (execution_count)
- общее количество процессорного времени, потраченного на выполнение запроса (total_worker_time)
- нагрузка на подсистему ввода-вывода (total_physical_reads, total_logical_reads, total_physical_writes, total_logical_writes)
Роль идентификатора плана запроса выполняет поле plan_handle.
Значение этого поля можно использовать в качестве входного параметра функции sys.dm_exec_sql_text, которая возвращает текст данного запроса.
В качестве примера - запрос, который отображает 10 наиболее часто запускаемых запросов, что может быть полезно при оптимизации работы с базой данных:
select queries.execution_count, q.dbid, q.[text]
from
(select top 10 qs.plan_handle, qs.execution_count
from sys.dm_exec_query_stats qs
order by qs.execution_count desc) as queries
cross apply sys.dm_exec_sql_text(plan_handle) as q
order by queries.execution_count desc
Комментариев нет:
Отправить комментарий