Лучший подход для поиска пользователей, основанный на расстоянии в php, mysql и codeigniter - PullRequest
2 голосов
/ 25 декабря 2011

Я создаю сайт сообщества. Где мне нужно искать профиль пользователя по расстоянию. Например, я живу в городе Лондон. Долгота и широта моего местоположения составляют 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 

Теперь проблема, с которой я сталкиваюсь, заключается в том, что некоторые люди говорят, что этот путь будет медленным, если у вас будет 100 000 пользователей или больше для поиска. Есть ли оптимальное решение для этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...