Ale*_*lex 10 php mysql sql math
我正在使用PHP创建MySQL调用,我正在使用hasrsine forumula计算距离:
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
Run Code Online (Sandbox Code Playgroud)
我的问题是; 最好在SQL中进行所有这些计算吗?此查询搜索包含大约1000条记录的表.用PHP而不是SQL做一些数学会更有效吗?有没有更好的方法来优化此查询?
在 MySQL 中进行数学计算可能会快得多,我建议您阅读我不久前提出的这个问题,至于速度优化,您绝对应该阅读优秀的Geo Proximity Search with MySQL论文,特别注意第 8-14 页和19 .