0

我有一个 SQL Server 2012 数据库,其中包含 300 万条公司记录,您可以在其中使用名称和地址字段上的一些 where like 子句进行搜索。这工作得非常快。

现在我用一个可选的点+距离参数来扩展这个查询。当使用这些参数时,查询会使用它们。

现在,仅搜索varchar列的速度非常快。仅搜索纬度/经度(点)+ 距离也很快。但是当我将两者结合起来时,它变得非常慢。

关于我可能做错了什么,或者我应该如何设置我的索引的任何想法?

现在我有这些索引:

PK_CompanyId(主键自带的标准索引)

IX_CompanyData(正在搜索的 VARCHAR 字段的索引,并且该索引包含的列中有 Lat 和 Long 列)

4

1 回答 1

0

通过首先缩小公司所链接城市的纬度/经度值的搜索结果,开始解决我的问题。这在性能上产生了巨大的差异。

于 2013-09-12T19:31:23.610 回答