我已经阅读了关于SQL Server缓冲区caching和关于调整它的各种讨论,使用最大和最小内存设置。 但是我有一个疑问:操作系统也有磁盘读取caching。 如果我在可用的操作系统内存下使用最大内存方式,操作系统是否会caching磁盘页面,并使其下次检索速度更快?
从这个KB :
SQL Server通过使用FILE_FLAG_NO_BUFFERING == true来打开数据库文件。 某些实用程序和服务(如Analysis Services)使用FILE_FLAG_NO_BUFFERING == false。
换句话说,SQL Server(引擎)禁用操作系统磁盘caching,因此降低SQL Server使用的内存量将会为操作系统留下更多的内存,并且不会用于Windowscaching。 SQL Server的缓冲区caching要复杂得多,适合于cachingsql server数据,然后是windows磁盘读取caching。