java - 计算距离 - 即时计算还是在数据输入数据库后立即计算?

标签 java mysql google-maps sorting

我在一个小型 Web 应用程序上工作,我有一个用户表,其中存储了用户详细信息以及他们当前位置的纬度和经度。

一个新用户注册,他会看到所有用户离他当前位置的距离。

我正在使用 haversine 公式进行计算。

我的问题是如何继续执行此操作? 我怎样才能即时做到这一点?还是需要在用户注册时计算所有的用户距离并保存?

应该满足排序:即最短距离优先。

最佳答案

如果用户数量非常大(或没有限制),那么您可能会遇到麻烦。

预先计算这个可能需要相当多的存储空间。但按需计算可能需要大量的服务器 CPU 时间。

一些注意事项:

  1. 使用 MySQL 进行地理排序。 http://www.scribd.com/doc/2569355/Geo-Distance-Search-with-MySQL

  2. 考虑仅为一小部分其他用户计算距离。

  3. 考虑使用 javascript 在客户端计算机上动态计算距离的好处。

关于java - 计算距离 - 即时计算还是在数据输入数据库后立即计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9561958/

相关文章:

mysql - 如何从 MySQL 获取字符串的一部分?

php - 减少 MySql 数据库的响应时间

ruby-on-rails - Rails3 Google Maps 使用 selenium 进行测试

java - 在 java 中创建样式 xml 以供查看(按钮)

java - 在自己的线程中运行每个 Spring Scheduler

java - PhantomJS 进程不退出

r - 是否有解决方法来获得 googlemaps 未涵盖的点(长纬度)之间的旅行时间(使用 gmapsdistance)?

java - 无需安装即可在 Windows 中获取 Oracle Java 1.8

java - 如何动态打印加载到文本框中的页面?

php - 如何检索我们在谷歌地图中标记的最近的商店?