Я создаю вызов MySQL с помощью PHP, я вычисляю расстояние с помощью форума 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? Есть ли лучший способ оптимизировать этот запрос?