SQL Server 2016 删除查询缓存

Posted

技术标签:

【中文标题】SQL Server 2016 删除查询缓存【英文标题】:SQL Server 2016 drops query cache 【发布时间】:2016-07-06 21:08:37 【问题描述】:

我有一个具有高可用性的 SQL Server 2016 环境。当我检查查询计划缓存时,我看到 SQL Server 一直在清除缓存。下面的查询只返回 5 到 10 条记录,有时返回 0 条记录。

SELECT *
FROM sys.dm_exec_cached_plans decp

我编写了所有数据库对象(存储过程、触发器..)的脚本,以查看是否有任何删除缓存的命令,但我找不到。

感谢您提供这方面的任何帮助。

【问题讨论】:

我不确定缓存被清除时是否有任何扩展事件被捕获? 【参考方案1】:

我遇到了同样的问题,将最大内存从 60 GB 减少到 55 GB 使服务器性能更好。

(batch per seconds) / (compilation per seconds) 大约是 4%(更改之前是 15/20%)

【讨论】:

以上是关于SQL Server 2016 删除查询缓存的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2008 计划缓存几乎总是空的

怎么查看sql server累计执行的sql次数

Mybatis缓存

SQL Server 2016 可以在一个事务中重新排列多个查询的顺序吗?

如何清除 SQL Server 查询缓存?

Java JOOQ 与 SQL Server:缓存查询