gpt4 book ai didi

mysql 排序最近的地理点

转载 作者:行者123 更新时间:2023-11-29 07:40:13 25 4
gpt4 key购买 nike

我正在尝试订购一个非常大的表,其中包含近 1M 条记录,并且具有纬度和经度。

我无法使用having,因为有时最近的地方是100Mi,有时是1000Mi

知道如何解决这个问题吗?我的数据库已完全索引。我用我的查询运行解释,每个 JOIN 都有索引(我在此查询中有超过 6 个联接)

现在我正在使用这样的东西,我知道这不是最好的方法,但我认为这不是那么昂贵,就像我使用 COS()

SQRT(POW(p.latitude - 25.6875703, 2) + POW(p.longitude - -100.283252, 2)) as deltaLoc

然后我对表进行排序 ORDER BY deltaLoc ASC LIMIT 0,9;

By DB 的增长速度非常快,我预计下个月会出现 100 万条新记录

或者我应该转移到其他数据库吗?

仅供引用,我有一个带有 8GB RAM 和 4 CPUS 的 VPS,我应该增加这个还是可以?

谢谢

最佳答案

您想使用spatial data ,它对按距离排序有适当的支持。

欧几里得距离不适用于位于球体上的纬度/经度坐标。 10 度经度对应的距离会根据纬度的不同而不同(两极为 0 米)。

我知道在 PostgreSQL 中使用 PostGIS 很简单,但我不确定 MySQL 对此的支持程度如何。

关于mysql 排序最近的地理点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29309516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com