MySQL — сделать расчет в запросе SQL или PHP?

Это мой первый пост, поэтому я надеюсь, что я буду следовать всем соглашениям: 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?

Спасибо за все ответы заранее!

0

Решение

Если вы хотите отсортировать по результатам, то сделайте расчет в SQL.

В противном случае вы просто используете базу данных в качестве «хранилища файлов» и не используете ее функциональность. Кроме того, выполняя упорядочивание в базе данных, вы можете ограничить количество возвращаемых строк — еще одна оптимизация.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]