使用 dmv 了解您的工作负载类型?

use*_*563 0 sql-server dmv

是否有 DMV 可以告诉我我的工作负载类型是“临时”的吗?

Mar*_*son 5

这是我会使用的,由Kimberly Tripp 提供

SELECT objtype AS [CacheType]
, count_big(*) AS [Total Plans]
, sum(cast(size_in_bytes as decimal(18,2)))/1024/1024 AS [Total MBs]
, avg(usecounts) AS [Avg Use Count]
, sum(cast((CASE WHEN usecounts = 1 THEN size_in_bytes ELSE 0 END) as decimal(18,2)))/1024/1024 AS [Total MBs - USE Count 1]
, sum(CASE WHEN usecounts = 1 THEN 1 ELSE 0 END) AS [Total Plans - USE Count 1]
FROM sys.dm_exec_cached_plans
GROUP BY objtype
ORDER BY [Total MBs - USE Count 1] DESC
Run Code Online (Sandbox Code Playgroud)

它按类型拆分计划大小和计划总数,例如 Adhoc、Prepared、Procedure、Trigger、View 等。

编辑:

如果你想,然后找出实际压力每种类型的服务器上放置,你可以加入sys.dm_exec_cached_planssys.dm_exec_query_stats通过plan_handle用与秩序total_worker_time(用于CPU)或total_elapsed_time(对于持续时间)。