Mar*_*son 5 performance sql-server dmv sql-server-2012 performance-tuning
我刚刚下载了 SQL Server 2012 'Performance Dashboard Reports',并且在解释其中一个结果显示的数据并将其链接回 DMV 时遇到了一些问题sys.dm_exec_query_stats
。
根据 CPU 报告,我执行最差的查询是已运行约 27K 次的插入语句。
当我使用query_hash
for 查询并将其放入下面的查询中时,我得到 62 个结果,每个结果都相同query_hash
,query_plan_hash
但具有不同的plan_handle
值。
SELECT * FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS dest
WHERE query_hash = 0x1561B563078359C1
Run Code Online (Sandbox Code Playgroud)
根据BOL,execution_count
显示:
自上次编译计划以来执行的次数。
并creation_time
显示
编制计划的时间。
我 99.9% 确定查询每 5 分钟运行一次,但结果集中的每个查询都有creation_time
今天早上的计划,但每个查询都execution_count
显示约 400。
SQL Server 如何确定这个数字?这些数字是通过某种方式联系起来的plan_hash
还是每个人都是独一无二的plan_handle
?
小智 5
sys.dm_exec_query_stats
返回计划的汇总统计信息,但每个查询都有一行。
因此,如果一个过程有 2 个查询,sys.dm_exec_query_stats
则将返回 2 行,但与计划相关的列(例如编译时间、执行计数等)是计划级别的统计信息,无法进一步聚合。
归档时间: |
|
查看次数: |
7433 次 |
最近记录: |