2017-06-22 75 views
0

是什么原因导致select * from sys.dm_exec_query_stats返回只有几行?记录数量从3到30不等。sys.dm_exec_query_stats只返回几行

在不同的服务器/机器上,我获得了超过8.5万行。 这是一个内存压力的指标吗?

+0

是不是像其他服务器上的操作数量较大? – Whencesoever

回答

1

它返回的性能统计数据缓存的查询计划,看看这个链接查看更多细节:link

它去显示任何特定的机器不同数量取决于有多少查询计划已经被缓存

+0

谢谢。在两台服务器上都有几乎相同的工作负载(相同的应用程序)。但在一台机器上安装了50个实例,另一台只安装了5个。 – donhauro

+0

一行显示计划的每个单独查询,因此如果计划有10个查询,那么将有10行,如果它有1个,那么只有一行。计算不同的plan_handle以查看每个计划中有多少个计划 – dbajtr

+0

我执行选择“A”。 然后我查询sys.dm_exec_query_stats并查看两个执行计划。 一个是选择“A”的执行计划,另一个执行计划是选择sys.dm_exec_query_stats本身。 经过一段时间(两三秒后),我再次查询sys.dm_exec_query_stats,并且只有一个计划用于选择sys.dm_exec_query_stats。 SQL Server会保存这些信息多久?在另一台机器上,我有执行计划(3或4天)。 – donhauro