Eloquent - это реализация шаблона Active Record от Laravel, которая имеет все свои сильные и слабые стороны.Это хорошее решение для использования, когда вы обрабатываете одну сущность в режиме CRUD - то есть читаете из базы данных или создаете новую сущность, а затем сохраняете или удаляете ее.Вы получите много пользы от функций Eloquent, таких как грязная проверка (отправка SQL UPDATE только для полей, которые были изменены), моделирование событий (например, отправка административного предупреждения или обновление счетчика статистики, когда кто-то создал новую учетную запись), черты (временные метки, мягкие удаления, пользовательские черты) нетерпеливая / ленивая загрузка и т. д.
Но, как вы уже знаете, это связано с некоторой ценой производительности.Когда вы обрабатываете одну или несколько записей, вам не о чем беспокоиться.Но для случаев, когда вы читаете много записей (например, для таблиц данных, для отчетов, для пакетной обработки и т. Д.), Лучше использовать обычный DB.
Для нашего приложения мы делаем именно это - используя Eloquent Laravel в Интернете.формы для обработки одной записи и использования БД (с представлениями SQL) для извлечения данных для сеток, экспорта и т. д.
Когда дело касается производительности и роста приложения, для сравнения, возьмите награду заследующие таблицы:
Сравнение среднего времени ответа операции выбора между Eloquent ORM и Raw SQL
Среднее время ответа Eloquent ORM
Joins | Average (ms)
1 | 162,2
3 | 1002,7
4 | 1540,0
Результат среднего времени отклика операции выбора для Eloquent ORM
Среднее время отклика необработанного SQL
Joins | Average (ms)
1 | 116,4
3 | 130,6
4 | 155,2
Результат среднего времени ответа операции выбора для необработанного SQL