我正在使用PHP创建一个MySQL调用,我正在使用Haversine公式计算距离:
SELECT name, id,
(6371 * acos(cos(radians(' . $lat . '))
* cos(radians(geoname.latitude))
* cos(radians(geoname.longitude) - radians(' . $lon . '))
+ sin(radians(' . $lat . '))
* sin(radians(geoname.latitude)))) AS distance
我的问题是:在SQL中进行所有这些计算是否最好?此查询搜索大约1000条记录的表。在PHP中进行一些数学运算是否比在SQL中更有效?是否有更好的方法来优化此查询?