@frmax
человек

Как правильно посчитать расстояние между объектами?

Добрый день,

поставил mysql 5.7 > нашел там ST_Distance_Sphere но что-то никак не соображу как высчитать расстояние у всех. Вообщем у меня таблича где мне надо сравнить одного пользователя с остальными и вывести всех у кого расстояние не более 10 миль.

Я пытаюсь )))
SELECT  *  FROM `profile` WHERE (ST_Distance_Sphere(
	(SELECT geo FROM profile WHERE user_id = 9972), 
    (SELECT geo FROM profile WHERE user_id > 200000)
))


Направьте плиз, как мне сравнить всех с одним.

поле geo тип point
  • Вопрос задан
  • 367 просмотров
Пригласить эксперта
Ответы на вопрос 2
AxisPod
@AxisPod
MySQL научился в функции прокидывать вложенные запросы? Вы сами как это себе представляете. Сделайте сначала выборку с нормальным джойном, потом делайте уже WHERE. Тут в любом случае индексы каждый к каждому мускул вам не построит и придётся обходить все хранимые данные.
Ответ написан
gadfi
@gadfi
https://gamega.org
что то у вас совсем оверхедно, я как то на sqlite без встроенных функций для работы с геоданными подобную задачу на голой математике писал, ничего сложного, работало быстро
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы