我有一个包含300万个公司记录的Server 2012数据库,您可以在其中使用名称和地址字段中的where like子句进行搜索。这个动作很快。
现在,我用一个可选的点+距离参数扩展这个查询。当使用这些参数时,查询将使用它们。
现在,仅搜索varchar列的速度非常快。只搜索lat / long (点)+距离也是快速的。但是当我把这两者结合起来的时候,它会变得很慢。
知道我可能做错了什么,或者我应该如何设置我的索引吗?
现在,我有以下几个索引:
PK_CompanyId (主键附带的标准索引)
IX_CompanyData (正在搜索的VARCHAR字段的索引,该索引的包含列中有Lat & Long列)
发布于 2013-09-12 19:31:23
开始解决我的问题,首先缩小我的搜索结果,从城市的lat/长的价值,公司是联系的。这在性能上产生了巨大的差异。
https://stackoverflow.com/questions/18153002
复制相似问题