Comments 23
Для Ruby On Rails есть gem bullet определяющий N+1 запросы и выдающий стек-трейс где это исправить.
Интересно, подобная реализации для Yii2 присутствует?
P.S Загрузите изображения в habrastorage.org
Интересно, подобная реализации для Yii2 присутствует?
P.S Загрузите изображения в habrastorage.org
0
Не сразу понял, о чем речь. Все же «жадный» — это greedy (например, greedy regex quantifier). Eager — разве что в переносном смысле, вообще это скорее «жаждущий».
-1
Жадная загрузка — это общепринятое понятие, обозначаемое в английском языке как eager loading. И переводится оно именно так. И если перейти к вашему дословному переводу слова eager (вернее, одному из возможных переводов), то человек, испытывающий жажду, пьет с жадностью, отсюда и понятие.
+1
У меня на работе VK заблокирован. Почему Вы не выложили картинки на habrastorage? Перезалейте, пожалуйста. Вообще использовать vk как хостинг картинок совершенно неправильно.
0
Извините дорогие читатели. Сейчас исправлю изображения.
+1
Може ленивая а не жадная?
-2
Это как раз антонимы.
0
Извините пожалуйста, но о этом знаком практически каждый человек, хоть немного работающий в yii2.
Статья была бы интересней, если бы вы рассказали о жадной загрузке в подгруженных жадных загрузках. Либо варианты доставать данные через 2-3 загрузки.
Статья была бы интересней, если бы вы рассказали о жадной загрузке в подгруженных жадных загрузках. Либо варианты доставать данные через 2-3 загрузки.
+4
Прост в шоке… Какой чудесный недокументированный метод… А какой прекрасный подход. Спасибо, что сообщили о своей находке. Обязательно возьму на вооружение, а то эти 100500 запросов при моих постоянных выборках для вывода по 500-1000 элементов на страницу уже задрали.
0
Да уж! Учите матчасть.
0
недокументированный
ActiveQuery::with()
В Yii даже и внешняя документация не особо нужна. Открываешь класс -> изучаешь методы -> находишь много нового и полезного.
+1
Я не знаю Yii, но проще, быстрее и вообще, было сделать в основном запросе сразу сделать сразу выборку названий категорий JOIN-ном или SELECT-вом двух таблиц — не имеет значения. Вы берете ORM и потом героический боретесь с ним и, в данном случае, особенностями виджетов GridView.
-3
Сказали просто чтобы сказать? AR тут дает необходимые возможности. Если вы не в теме Yii, то смысл вашего комментария?
0
Это не борьба с orm, а использование его возможностей.
Автор как раз это и сделал, использовав with. А раз ему и join нужен был — joinWith(). Это и так в документации очень хорошо написано, автор в данном случае показал, как это к грид применить.
Автор как раз это и сделал, использовав with. А раз ему и join нужен был — joinWith(). Это и так в документации очень хорошо написано, автор в данном случае показал, как это к грид применить.
0
Жадность не исключает ленивость, кстати ) collection.load('relation')
0
Еще вариант перевода eager load — «нетерпеливая» загрузка
0
Sign up to leave a comment.
Жадная загрузка в Yii2, для тех кто хочет понять что это такое