我有一个全球 100 万个(缓慢)移动点的列表(存储为纬度和经度)。时不时地,每个点都会请求 100 个最近的其他点的列表(如果有帮助,可以使用可配置的最大范围)。
不幸的是SELECT * SORT BY compute_geodetic_distance() LIMIT 100
,每一个点都一遍又一遍地完成太慢了。所以我的问题是:我应该如何有效地处理这个问题?有没有更好的算法/数据结构/...为此而闻名?或者这是唯一的方法,我应该考虑分配服务器负载吗?
(注意:这是针对 Android 应用程序,重点是用户,所以如果我错过了特定于 android 的解决方案,请随意说!)