暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

dm_exec_query_stats

wzf0072 2024-07-13
110

sys.dm_exec_query_stats

返回 SQL Server 中缓存查询计划的聚合性能统计信息。 缓存计划中的每个查询语句在该视图中对应一行,并且行的生存期与计划本身相关联。 在从缓存删除计划时,也将从该视图中删除对应行。

 备注

  • sys.dm_exec_query_stats的结果可能因每次执行而有所不同,因为数据仅反映已完成的查询,而不是仍在进行中的查询。
  • 若要从 Azure Synapse Analytics 或 Analytics Platform System (PDW)中的专用 SQL 池调用此名称,请使用名称 sys.dm_pdw_nodes_exec_query_stats。 对于无服务器 SQL 池,请使用 sys.dm_exec_query_stats

示例

A. 查找 TOP N 查询

下列示例返回了按平均 CPU 时间排名的前五个查询的信息。 此示例将根据查询的查询哈希对查询进行聚合,以便按照查询的累积资源消耗来分组在逻辑上等效的查询。 Sample_Statement_Text列显示与查询哈希匹配的查询结构示例,但不应考虑语句中的特定值。 例如,如果语句包含 WHERE Id = 5,则可以以更通用的形式读取它: WHERE Id = @some_value

SELECT TOP 5 query_stats.query_hash AS Query_Hash,   
    SUM(query_stats.total_worker_time) / SUM(query_stats.execution_count) AS Avg_CPU_Time,  
    MIN(query_stats.statement_text) AS Sample_Statement_Text
FROM   
    (SELECT QS.*,   
    SUBSTRING(ST.text, (QS.statement_start_offset/2) + 1,  
    ((CASE statement_end_offset   
        WHEN -1 THEN DATALENGTH(ST.text)  
        ELSE QS.statement_end_offset END   
            - QS.statement_start_offset)/2) + 1) AS statement_text  
     FROM sys.dm_exec_query_stats AS QS  
     CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) as ST) as query_stats  
GROUP BY query_stats.query_hash  
ORDER BY 2 DESC;  

B. 对查询返回行计数聚合

以下示例返回查询的行计数聚合信息(总行数、最小行数、最大行数和上一次行数)。

SELECT qs.execution_count,  
    SUBSTRING(qt.text,qs.statement_start_offset/2 +1,   
                 (CASE WHEN qs.statement_end_offset = -1   
                       THEN LEN(CONVERT(nvarchar(max), qt.text)) * 2   
                       ELSE qs.statement_end_offset end -  
                            qs.statement_start_offset  
                 )/2  
             ) AS query_text,   
     qt.dbid, dbname= DB_NAME (qt.dbid), qt.objectid,   
     qs.total_rows, qs.last_rows, qs.min_rows, qs.max_rows  
FROM sys.dm_exec_query_stats AS qs   
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt   
WHERE qt.text like '%SELECT%'   
ORDER BY qs.execution_count DESC;  
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论