我对此查询有疑问:
SELECT city,6371 * ACos( Cos(RADIANS(Lat)) * Cos(RADIANS(51.166698)) * Cos(RADIANS(-1.7833) - RADIANS(Lng)) + Sin(RADIANS(Lat)) * Sin(RADIANS(51.166698)) ) AS Distance
FROM GeoPC
GROUP BY city ORDER BY Distance LIMIT 20
查询大约需要30秒。数据库中大约有170万行,而group by和order by对于数据库来说太重了。
知道我该如何解决吗?
最佳答案
您是否尝试过将Distance参数移动到GeoPC表中的计算字段?从表面上看,我看不出它有什么大的不同,但是可以很快尝试一下。
关于mysql - 纬度经度mysql查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20521113/