【发布时间】:2021-01-27 21:10:02
【问题描述】:
我正在阅读一篇非常有趣的 post,关于如何设置针对 Ad Hoc 工作负载的优化。
帖子链接到 Pinal Dave 制作的 query,可让您检索 AdHoc %:
SELECT AdHoc_Plan_MB,
Total_Cache_MB,
AdHoc_Plan_MB * 100.0 / Total_Cache_MB AS 'AdHoc %'
FROM
(
SELECT SUM(CASE
WHEN objtype = 'adhoc'
THEN CONVERT(BIGINT, size_in_bytes)
ELSE 0
END) / 1048576.0 AdHoc_Plan_MB,
SUM(CONVERT(BIGINT, size_in_bytes)) / 1048576.0 Total_Cache_MB
FROM sys.dm_exec_cached_plans
) T;
我的 AdHoc 百分比为 61%:
Pinal 说“我个人更喜欢在看到 AdHoc Percentages 在 20-30% 之间时打开 Optimize for Ad Hoc Workloads 设置”
如果我有 61%,我该怎么办。
我应该打开还是关闭它?
【问题讨论】:
标签: sql-server performance tsql caching