В MySQL есть также функции. Например, DAY()
, ASCII()
, DATEDIFF()
и т. Д., Много функций. Таким образом, с помощью этих функций можно выполнять сложные запросы. И все вычисления/манипуляции с данными будут выполняться еще в MySQL с помощью функций MySQL. И я могу получить результат моего запроса на PHP, уже подготовленный MySQL, настолько утонченным, насколько это возможно.Каков лучший способ манипулировать данными в БД?
Но также можно вычислить/обработать данные из БД с помощью функции PHP. Я имею в виду, что я извлекаю данные из БД, используя как можно более простой SQL-запрос, а затем получаю его в массив, извлекаю этот массив в переменные и только теперь, используя функции PHP, начинаю необходимые манипуляции с моими данными, чтобы уточнить, что мне нужно.
Итак, мой вопрос, какой способ лучше работать с БД? Должен ли я использовать силу разрыва MySQL настолько полно, насколько только можно получить как готовые к использованию данные, как только возможно, или мне нужно использовать больше функций PHP для обработки необработанных данных из БД?
Ehrm. Что дает вам представление о том, что вы можете масштабировать веб-серверы, но вы не можете масштабировать серверы баз данных? Базы данных также отлично масштабируются, а вычисления в базе данных лучше, чем при их получении после получения всех данных. –
MySQL не является распределенной базой данных. Вы можете читать несколько подчиненных устройств, но вы не можете выполнять бесконечные вставки/обновления/удаления на одном сервере. Вот почему выполнение этих операций на ваших веб-серверах имеет преимущество. – RobinUS2
Тем не менее, функции в базе данных намного превосходят перенос всех данных на PHP и вычисление оттуда. Подумайте о последствиях своего ответа при применении к функции MySQL СУММ на 100 000 строк? Только передача данных занимает больше времени, чем вычисление в базе данных. –