Вызывает ли Doctrine Orm проблемы с производительностью?

В моей компании мы работаем с фреймворком Symfony, но для Doctrine они говорят: «Мы не будем использовать Doctrine из-за проблем с производительностью с тоннами данных».

Они правы? Если нет, дайте мне аргументы, чтобы убедить их, что они неправы.

Что ты сделал для проверки? Вы делали профилирование?

Lawrence Cherone 18.03.2018 13:12

У ORM всегда есть накладные расходы, но преимущества могут перевесить эти затраты. Обратите внимание, что я говорю «могу», а не «делать». Как и все остальное в информатике, здесь речь идет о компромиссе. Похоже, ваша команда решила, что это плохой компромисс. Мы не знаем ваших целей по производительности, как вы используете свою базу данных, какую базу данных вы используете, сколько там данных ... как мы можем ответить на ваш вопрос? Вы должны спросить своего команда, почему они решили не использовать Doctrine, а не просить нас убедить их, что они неправы. Есть ли у них данные для резервного копирования или это неосведомленное решение?

Chris 18.03.2018 13:29

Это действительно не подходит для stackoverflow. Загляните в раздел сообщества в документации, чтобы увидеть доску доктрины в чате. Но в основном, если ваши приложения в значительной степени являются шаблонными приложениями CRUD, тогда ORM работает хорошо. Проблема на стороне чтения. По умолчанию вы всегда получаете полные объекты, что может замедлить работу, если вам нужно всего несколько столбцов. Есть обходные пути, но в конце концов пользовательские sql-запросы (с использованием уровня Doctrine DBAL) начинают выглядеть очень привлекательно.

Cerad 18.03.2018 13:31
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
422
1

Ответы 1

То же самое можно сказать и о фреймворках, Symfony больше и медленнее, чем простой скрипт php, но есть преимущества, которые компенсируют возможную потерю производительности.

А производительность ... это сложная тема, но ИМХО, все дело в разработчике, который использует фреймворк. Вот почему symfony предоставляет панель отладки - чтобы увидеть, что происходит в приложении (если вы видите слишком много запросов к базе данных или странное время отклика базы данных, вы можете определить и решить проблему - прежде чем она станет проблемой)

О Доктрине - поиск Марко Пиветты и его выступлений о Доктрине (например https://vimeo.com/134178140)

Лично я никогда не встречал ситуации, с которой Doctrine не может справиться (особенно с кешем второго уровня)

Другие вопросы по теме