我有一个包含300万公司记录的SQL Server 2012数据库,您可以在其中使用名称和地址字段中的某些子句进行搜索。这非常快。
现在我使用可选的point + distance参数扩展此查询。使用这些参数时,查询将使用它们。
现在,只搜索varchar
列的工作速度非常快。仅搜索纬度/经度(点)+距离也很快。但是当我将两者结合起来时,它变得非常缓慢。
知道我可能做错了什么,或者我应该如何设置我的索引?
现在我有这些索引:
PK_CompanyId (主键附带的标准索引)
IX_CompanyData (正在搜索的VARCHAR字段上的索引此索引的列中包含Lat& Long列)
答案 0 :(得分:0)
首先从公司所链接的城市的纬度/经度值缩小搜索结果,开始解决我的问题。这在性能上产生了巨大的差异。