8

我正在尝试设计一个 MySQL 模式,该模式可以存储具有相关纬度和经度的用户列表。

然后,对于给定的用户,我想构建一个查询,该查询可以将最近的 50 个用户返回给他/她,并按距离对这些用户进行排序(首先显示最近的用户)。

鉴于此表中可能有数千个用户,存储和查询此数据的最有效方法是什么?

4

2 回答 2

5

尝试阅读这篇文章:使用 PHP、MySQL 和 Google 地图创建商店定位器该文章展示了用于Haversine 公式的 MySQL 解决方案,这是在给定纬度和经度的情况下计算距离的最佳方法。

于 2010-06-30T23:29:00.320 回答
4

看看 MySql 的空间索引

您也可以使用大圆距离,这里有一篇很好的 SO文章

于 2010-06-30T23:26:46.083 回答