我有一个 SQL Server 2012 数据库,其中包含 300 万条公司记录,您可以在其中使用名称和地址字段上的一些 where like 子句进行搜索。这工作得非常快。
现在我用一个可选的点+距离参数来扩展这个查询。当使用这些参数时,查询会使用它们。
现在,仅搜索varchar
列的速度非常快。仅搜索纬度/经度(点)+ 距离也很快。但是当我将两者结合起来时,它变得非常慢。
关于我可能做错了什么,或者我应该如何设置我的索引的任何想法?
现在我有这些索引:
PK_CompanyId(主键自带的标准索引)
IX_CompanyData(正在搜索的 VARCHAR 字段的索引,并且该索引包含的列中有 Lat 和 Long 列)