日期:2014-05-17  浏览次数:20374 次

SQL内存分配问题。
  SQL服务刚刚启动的时候查询数据非常慢,但第二次查询又很快(是同一个查询语句)。经我测试,是第一次查询的时候,SQL服务的占用内存慢慢的增长,等增长到一定程度数据才能查出来,第二次查询时内存不再增长,所以很快就能查出来。
   想问一下,能否设置SQL服务启动就能分配到一个比较大的内存,那第一次查询的时候就不用等待SQL分配内存了。

------解决方案--------------------
引用
想问一下,能否设置SQL服务启动就能分配到一个比较大的内存,那第一次查询的时候就不用等待SQL分配内存了。

不是这样的。

在sql server 中可以使用min server memory和max server memory这两个服务器内存选项,设置sql server 内存。如果设置了最小服务器内存和最大服务器内存,sql server不会在服务启动的时候立即分配最小内存或最大内存。而是由客户端负荷达到最小服务器内存的时候,sql server不会释放内存,保证内存不低于min server memory。同理,当客户端负荷超过最大服务器内存的时候,sql server 会自动调整使用内存不高于max server memory设置的值。