grabbee
@grabbee

Оптимизирует ли Symfony/Doctrine запросы к сущности?

Подскажите пожалуйста, если сделать запрос к сущности например "количество записей с ID = 5" через entityManager/createQueryBuilder и затем несколько раз повторно выполнить такой запрос, оптимизирует ли это Doctrine? Какие есть способы "правильно" оптимизировать подобное поведение, чтобы запрос был только один?
  • Вопрос задан
  • 332 просмотра
Решения вопроса 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
в смысле кеширует ли волшебным образом? нет. Единственная оговорка - если вы это делаете на коллекции и все данные из коллекции уже загружены в память - то тогда да, оно просто посчитает количество объектов, подходящих под критерию (метод matching для фильтрации коллекций). А так... только выборки по первичному ключу в случае если сущность уже загружена.
Ответ написан
BoShurik
@BoShurik Куратор тега Symfony
Symfony developer
Дополню Сергей Протько
Для кеширования надо дополнительно вызвать:
return $builder
    ->getQuery()
    ->useQueryCache(true)
    ->useResultCache(true, 300)
    ->getResult()
;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы