Sql server 2005 为什么SQL Server没有在内存中加载我的索引?
我有一个表,它有800万条记录,有许多字段,包括lat/long值,它有一个lat/long字段索引 我正在进行一个查询,以查找位于点周围一个正方形内的记录(稍后细化为一个圆),这是一种: 选择Lat,Long FROM Data,其中(Lat介于1和2之间)和(Long介于1和2之间) 在我的开发机器中,它使用索引,并在大约50ms后返回(这是我第一次对特定点进行查询)。Sql server 2005 为什么SQL Server没有在内存中加载我的索引?,sql-server-2005,memory,indexing,Sql Server 2005,Memory,Indexing,我有一个表,它有800万条记录,有许多字段,包括lat/long值,它有一个lat/long字段索引 我正在进行一个查询,以查找位于点周围一个正方形内的记录(稍后细化为一个圆),这是一种: 选择Lat,Long FROM Data,其中(Lat介于1和2之间)和(Long介于1和2之间) 在我的开发机器中,它使用索引,并在大约50ms后返回(这是我第一次对特定点进行查询)。 在我的生产服务器中,它也使用索引,但是第一个查询返回大约需要2-4秒,接下来的查询返回大约需要10秒 在我的开发机器中,S
在我的生产服务器中,它也使用索引,但是第一个查询返回大约需要2-4秒,接下来的查询返回大约需要10秒 在我的开发机器中,SQL Server占用了500Mb的内存,在我的服务器中,大约130Mb 对我来说,一个明显的结论是,在我的机器中,索引被加载到内存中,而在生产服务器中它不是 我的假设正确吗? 我能做些什么来修复它 这是两台机器上W2k3上的SQL Express 2005(免费版本)。 我能想到的一个区别是我的机器是32位的,服务器是64位的,但我不认为这会影响内存中索引的加载 此外,服务器内存也没有不足。它有2Gb的物理内存,提交费用约为500Mb,因此有足够的空闲空间 任何想法都将不胜感激!
谢谢 当我遇到这种情况时,通常会尝试以下两种方法: 1-更新该表的统计数据: 更新统计数据
2-重建索引:(右键单击SQL Server Management Studio中的索引并选择重建)更新统计信息无效。在尝试重建索引之前,我尝试了“重新组织”索引,它工作得非常好!!非常感谢你!!