为了调查查询计划的使用情况,我试图了解内存中存储了哪种查询计划。
使用此查询:
SELECT objtype AS 'Cached Object Type',
COUNT(*) AS 'Numberof Plans',
SUM(CAST(size_in_bytes AS BIGINT))/1048576 AS 'Plan Cache SIze (MB)',
AVG(usecounts) AS 'Avg Use Counts'
FROM sys.dm_exec_cached_plans
GROUP BY objtype
ORDER BY objtype
服务器上有128Gb的RAM,大约有20%的空间是免费的。SQL Server实例不受内存限制。
是的,基本上我有Adhoc查询(未参数化,未存储过程)。但是,为什么SQL Server如此频繁地清空查询计划缓存?我有什么问题?
最后,只有实例重新启动才能解决我的问题。现在,计划缓存看起来更加健康。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句