我目前在mysql数据库中只有一百万个位置,都有经度和纬度信息。 我试图通过查询find一个点和许多其他点之间的距离。 它不像我想要的那样快,特别是每秒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; 注意:提供的距离以英里为单位 。 如果你需要公里 ,使用6371而不是3959 。