在我的一个应用程序中,我有一个1gb的数据库表,用于参考数据.它从表中读出了大量的读数,但是从来没有写过.我想知道是否有任何方法可以将数据加载到RAM中,以便不必从磁盘访问它?
我正在使用SQL Server 2005
如果你有足够的RAM,SQL将突出抓好确定所要加载到RAM中,哪些寻求在磁盘上.
这个问题被问了很多,它让我想起人们试图手动设置他们的进程将运行的"核心" - 让操作系统(或者在这种情况下是数据库)完成它的设计目的.
如果要验证SQL实际上是从缓存中读取查找数据,那么可以启动负载测试并使用Sysinternals FileMon,Process Explorer和Process Monitor来验证是否未读取1GB表.出于这个原因,我们有时会将"查找"数据放在一个单独的文件组中,以便在磁盘上访问它时非常容易监视.
希望这可以帮助.