【发布时间】:2014-02-07 17:01:43
【问题描述】:
我有一个运行缓慢的 SQL 查询,我确定它与距离计算有关。 我使用这些计算进行排序,以便可以向正在寻找项目的用户提供在地理上最接近他们的结果。
我使用地理函数 STDistance 来计算与预先计算的 sql 地理数据类型位置的距离。
Location1.STDistance(Location2)
Location1是基于用户的位置,location2是物品的位置。
一旦我们进入数千行,这就会表现不佳,但我不知道有什么聪明的方法可以做到这一点。我认为存储所有可能的距离计算以供查找与在查询时计算是不可行的。 (这意味着存储唯一用户位置 X 唯一项目位置的数量。)
地点由邮政编码决定。地理范围仅限于美国。
还有其他想法吗?
【问题讨论】: