相关疑难解决方法(0)

找到两个纬度/长点之间距离的最快方法

我目前在mysql数据库中的位置不到一百万个,都有经度和纬度信息.

我试图通过查询找到一个点和许多其他点之间的距离.它没有我想要的那么快,尤其是每秒100次点击.

是否有更快的查询或可能比mysql更快的系统?我正在使用此查询:

SELECT 
  name, 
   ( 3959 * acos( cos( radians(42.290763) ) * cos( radians( locations.lat ) ) 
   * cos( radians(locations.lng) - radians(-71.35368)) + sin(radians(42.290763)) 
   * sin( radians(locations.lat)))) AS distance 
FROM locations 
WHERE active = 1 
HAVING distance < 10 
ORDER BY distance;
Run Code Online (Sandbox Code Playgroud)

注意:提供的距离以英里为单位.如果您需要公里数,请使用6371而不是3959.

mysql gis location

216
推荐指数
9
解决办法
18万
查看次数

标签 统计

gis ×1

location ×1

mysql ×1