2012-02-07 3 views
0

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

Но также можно вычислить/обработать данные из БД с помощью функции PHP. Я имею в виду, что я извлекаю данные из БД, используя как можно более простой SQL-запрос, а затем получаю его в массив, извлекаю этот массив в переменные и только теперь, используя функции PHP, начинаю необходимые манипуляции с моими данными, чтобы уточнить, что мне нужно.

Итак, мой вопрос, какой способ лучше работать с БД? Должен ли я использовать силу разрыва MySQL настолько полно, насколько только можно получить как готовые к использованию данные, как только возможно, или мне нужно использовать больше функций PHP для обработки необработанных данных из БД?

ответ

1

Если вы используете MySQL (или другие нераспределенные базы данных), вы можете подумать об этом в коде. Это облегчит нагрузку на сервер базы данных, в то время как веб-серверы прекрасно масштабируются в наши дни. У вас только 1 сервер MySQL, и вы можете масштабировать до X веб-серверов.

Лучше всего было бы создать вспомогательный класс, который обертывает родные функции базы данных.

Если вы оставите проблемы с производительностью, что бы они ни были, всегда было бы лучше использовать доступные функции, а не создавать их самостоятельно.

+2

Ehrm. Что дает вам представление о том, что вы можете масштабировать веб-серверы, но вы не можете масштабировать серверы баз данных? Базы данных также отлично масштабируются, а вычисления в базе данных лучше, чем при их получении после получения всех данных. –

+0

MySQL не является распределенной базой данных. Вы можете читать несколько подчиненных устройств, но вы не можете выполнять бесконечные вставки/обновления/удаления на одном сервере. Вот почему выполнение этих операций на ваших веб-серверах имеет преимущество. – RobinUS2

+0

Тем не менее, функции в базе данных намного превосходят перенос всех данных на PHP и вычисление оттуда. Подумайте о последствиях своего ответа при применении к функции MySQL СУММ на 100 000 строк? Только передача данных занимает больше времени, чем вычисление в базе данных. –

3

Предполагая, что вы выполняете одни и те же утверждения в отношении базы данных в любом случае, всегда будет быстрее выполнять ваши операторы непосредственно в MySQL (например, функции, хранимые процедуры), чем будет использовать любой из Расширения PHP MySQL.

-2

смотри ta мой вопрос Text proccessing via Mysql Query. его лучше хранить простые данные в базе данных, так как каждая информация содержит одну строку. Затем доберите ее до php и выполните их.

+0

Не это не так ... и ответ там говорит не для того, чтобы заставить PHP делать поиск. –

+0

проверьте мой вопрос, другие скажут мне, что лучший способ - хранить данные на db и тему процесса в php – bizzr3

+0

. Я думаю, что это лучше: -? – bizzr3

Смежные вопросы