Это мой первый пост, поэтому я надеюсь, что я буду следовать всем соглашениям: D
У меня есть база данных MySql с координатами x и y и веб-сервис php, который получает другие координаты x и y. Я хочу рассчитать квадратное расстояние: (x2-x1) ^ 2 + (y2-y1) ^ 2 и отсортировать от ближайшего к дальнему
SQL-запрос (в php) будет:
SELECT ((x_coor-$x)*(x_coor-$x)+(y_coor-$y)*(y_coor-$y)) AS SquareDis FROM $table ORDER BY SquareDis
Что в большей степени влияет на производительность, делая это в запросе SQL или в программе php?
Спасибо за все ответы заранее!
Если вы хотите отсортировать по результатам, то сделайте расчет в SQL.
В противном случае вы просто используете базу данных в качестве «хранилища файлов» и не используете ее функциональность. Кроме того, выполняя упорядочивание в базе данных, вы можете ограничить количество возвращаемых строк — еще одна оптимизация.
Других решений пока нет …