我有一个带有位置表的 Microsoft SQL Server 数据库。每个位置都有其地址和经纬度坐标。
在我的应用程序中,用户可以输入邮政编码,然后我们返回附近位置的列表。这是我的方法。a) 使用邮政编码数据库,我在 lat,lon 中搜索邮政编码(这是中心点)。b)我运行这样的搜索
SELECT Position_ID, distance(pos_lon,pos_lat,zip_lon,zip_lat) dist
FROM Positions
ORDER BY dist
“距离”是一个计算两点之间距离的函数。
问题是,随着我的位置数据库增加,运行这些搜索的时间开始增加。
有更好的方法吗?