Size: a a a

2020 September 25

ЮБ

Юля Бердникова... in symfony
Сраная доктрина
источник

СВ

Сергей Вершинин... in symfony
ну ну
источник

СВ

Сергей Вершинин... in symfony
меньше объектов итерируйте
источник

СВ

Сергей Вершинин... in symfony
iterate - позволит не сразу сделать гидрацию
источник

СВ

Сергей Вершинин... in symfony
если данных именно много - то курсоры + iterate
источник

ЮБ

Юля Бердникова... in symfony
1. getArrayResult не будет работать, потому что это выборка AbstractDiscriminator сущности, там приходят сразу все поля... Там очень важен весь этот Inheritance Mapping, на массивах ничего не будет рабайтан
2. iterate не работает с джойнами


Попадос блин
источник

ЮБ

Юля Бердникова... in symfony
Неожиданно...
источник

GG

Gonga Gonga in symfony
)))))))
источник

ЮБ

Юля Бердникова... in symfony
                metadata_cache_driver:
                   type: pool
                   pool: doctrine.cache_pool
               query_cache_driver:
                   type: pool
                   pool: doctrine.cache_pool
               result_cache_driver:
                   type: pool
                   pool: doctrine.cache_pool

   cache:
       pools:
           doctrine.cache_pool:
               adapter: cache.app

Удалось выйрать 200ms, но все равно все еще 4 секунды гидрация идет...
источник

ЮБ

Юля Бердникова... in symfony
где косяк? как на больших проектах доктрина юзается?
источник

Ш

Шурик in symfony
А тебе точно надо сразу столько данных?
источник

Ш

Шурик in symfony
Что за кейс такой, что нужно вынуть такое количество объектов?
источник

Р

Руслан in symfony
Юля Бердникова
Неожиданно...
Юзаешь говно, откуда нежданчик то?
источник
2020 September 26

СВ

Сергей Вершинин... in symfony
Тогда курсор..
источник

DA

Danil Andreyev in symfony
Юля Бердникова
9514 ...
источник

Ш

Шурик in symfony
Я чот думаю, что over 9000 обьектов вытягивается из базы, чтоб сразу их отправить в виде json либо же чтоб что-то посчитать. И это что-то по идее можно посчитать самой базой
источник

IG

Ivan Grigoriev in symfony
Юля Бердникова
где косяк? как на больших проектах доктрина юзается?
Не используется неявный рилейшен объектов. Позволяет а) избежать N+1 проблемы, и б) получать данные только через явные запросы в репозиторий.

В сложных запросах, чтобы не экспоузить структуру хранения (возвращать массивы), всё загоняется в доменные сущности с помощью rsm, если оно само не смогло. Если использовать DQL, то обычно оно само может.
источник

IG

Ivan Grigoriev in symfony
Т.е. смысл организации такой, что нигде в коде использование $foo->bars() не приведет к неявному запросу в базу.

Приходится явно получать конкретными запросами нужный набор данных, и заранее думать, где и какие данные подмешивать, если зачем-то где-то нужен ответ, содержащий пол базы.
источник

👤U

👤 User in symfony
Кому не жалко, дайте гит симфони проекта, чтобы смотреть, как надо делать. Демо проект конечно неплох. Но кейсов использования можно было и побольше вкинуть.
источник

АГ

Алексей Гевондян... in symfony
👤 User
Кому не жалко, дайте гит симфони проекта, чтобы смотреть, как надо делать. Демо проект конечно неплох. Но кейсов использования можно было и побольше вкинуть.
в гитхабе symfony вбей в поиск
источник