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