我有一个正在运行并连接到sql server 2008数据库的服务,问题是我的查询在第一次运行时需要很长时间,但是缓存时它完成得非常快。server 2008是否每隔一段时间自动清除缓存?
发布于 2013-01-18 10:07:54
除非服务器上有内存压力或您显式地告诉它,否则Server不会释放内存。
请参阅Microsoft支持:
http://support.microsoft.com/kb/321363
另一个原因可能是需要放入内存的其他数据库对象正在将正在使用的对象从缓冲区中推开。在这种情况下,分配给实例的更多内存或更有效的查询将有所帮助。
因此,服务器上的其他应用程序要么存在内存压力,要么没有为当前工作负载为实例分配足够的内存,但没有清理SQL server内存缓冲区的常规调度进程本身。
https://stackoverflow.com/questions/14396222
复制相似问题