0

我有一个正在运行并连接到 sql server 2008 数据库的服务,问题是我的查询在第一次运行时需要很长时间,但是在缓存时它完成得非常快。SQL server 2008是否每隔一段时间自动清除缓存?

4

1 回答 1

1

SQL Server 不会释放内存,除非服务器上存在内存压力或者您明确告诉它这样做。

请参阅 Microsoft 支持:

http://support.microsoft.com/kb/321363

另一个原因可能是其他需要放入内存的数据库对象正在将您正在使用的数据库对象推出缓冲区。在这种情况下,分配给实例的更多内存或更高效的查询将有所帮助。

因此,要么存在来自服务器上其他应用程序的内存压力,要么没有为当前工作负载分配给实例的足够内存,但本身并没有定期计划的进程来清除 SQL Server 内存缓冲区。

于 2013-01-18T10:07:54.340 回答