前几天我和一位同事发生了激烈的争论,想咨询 stackoverflow 社区哪种方法是可行的,甚至是正确的。
第一种方法(我实施的解决方案)是围绕一些给定坐标“画一个圆”然后查询数据库以检索一定范围内的所有“标记”的标准方法,范围从 1 到 25 英里。这种方法有效,并给出了准确的结果,但有时在密集区域中有许多“标记”时会有点慢。
同事的方法如下:取给定的坐标,上下四舍五入,查询数据库找到“关闭标记”,然后用上述方法执行另一个查询。
为了更清楚一点,假设我们的坐标为 -32.371267 和 115.827467。我们将运行查询以查找位于 -32 和 116 以及 33 和 115 中的周围“标记”。
我试图争辩说这是不可能的,并且会导致性能下降,因为它需要一个内部连接而不是一个大型查询,但到目前为止,他的实现是否可行仍然未知。
有人对此有任何想法吗?