Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php、mysql和codeigniter中基于距离搜索用户的最佳方法_Php_Mysql_Sql_Codeigniter - Fatal编程技术网

php、mysql和codeigniter中基于距离搜索用户的最佳方法

php、mysql和codeigniter中基于距离搜索用户的最佳方法,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,我正在建立一个社区网站。我需要根据距离搜索用户的个人资料。例如,我住在伦敦城,我所在的位置的经度和纬度分别为0.2和-1.2,现在我想运行一个mysql查询,该查询按距离显示用户的配置文件顺序,因此首先我将看到来自伦敦、附近城市和附近国家的所有用户,依此类推 我在google上找到了一个mysql查询: SELECT latitude, longitude, SQRT( POW( 69.1 * ( latitude - 52.58 ) , 2 ) + POW( 69.1 * ( - 1.12

我正在建立一个社区网站。我需要根据距离搜索用户的个人资料。例如,我住在伦敦城,我所在的位置的经度和纬度分别为0.2和-1.2,现在我想运行一个mysql查询,该查询按距离显示用户的配置文件顺序,因此首先我将看到来自伦敦、附近城市和附近国家的所有用户,依此类推

我在google上找到了一个mysql查询:

SELECT latitude, longitude, SQRT( POW( 69.1 * ( latitude - 52.58 ) , 2 ) + 
POW( 69.1 * ( - 1.12 - longitude ) * COS( latitude / 57.3 ) , 2 ) ) AS distance 
FROM location ORDER BY distance 
现在我面临的问题是,有些人说,一旦你有10万或更多的用户要搜索,这样做就会很慢。有什么最佳的解决方案吗

这些幻灯片可能会有所帮助:。它们提供了几种计算距离的方法-选择最适合您的方法。这些幻灯片可能会有所帮助:。它们提供了几种计算距离的方法——选择最适合你的方法。