Всем добрый вечер! Пытаюсь перебрать записи из таблицы с помощью

Model::find()->batch(100), но вылетает по лимиту памяти.
В табличке 5кк записей. В контейнере выделено 256Mb памяти
Хотя, если делаю Model::find()->limit(100)->all() - выполняется молниеносно.
Есть какие-то норм способы перебрать большое кол-во записей, кроме как городить свой перебор с LIMIT и OFFSET ?

5 ответов

8 просмотров

А почему вы считаете limit & offset огородом?

Gena-Voituk Автор вопроса
blazon
А почему вы считаете limit & offset огородом?

я не считаю этот подход чем-то плохим. Просто вроде как должно быть готовое решение во фреймворке для подобных тривиальных задач, а вместо этого batch() всё-таки делает запрос ко всем записям, а уже потом делит на батчи

Gena Voituk
я не считаю этот подход чем-то плохим. Просто врод...

Ну из опыта могу сказать, что выцеплять огромное количество записей это не самое лучшее решение.. Сами же понимаете, что без пагинации выжрет память и грузится будет долго даже через аякс.. Пагинация - это все же выход для большого объёма данных.. Но также вы можете сделать догрузку.. 100 записей получили, идёт повтора опять на 100 записей и вы их просто догружаете в список...

Gena-Voituk Автор вопроса
blazon
Ну из опыта могу сказать, что выцеплять огромное к...

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

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

Обсуждают сегодня

Свободные программисты в чате есть? Нужны кто умеет в архитектурно сложные проекты на базе WordPress, по типу маркетплейсов, фотостоков и подобного. В идеале, конечно, найти к...
С
4
if (user?.choseType === 'oneDay') { await ctx.reply( 'Добро пожаловать в команду «Магнита»! Правда, на один день ☺️ ', ); await ctx.s...
Kokni
1
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Это фейк @cruppto_newbot?
Antskup
13
Кто нибудь первичные конструкторы использовал? Кроме переименование свойства или параметра конструктора можно избежать затенения?
Вадим Гильмутдинов
2
всем салют сегодня утро заметил что бот не может отправлять фотки по url. ручками в браузере ссылка норм открывает фотки. падает ошибка 'Bad Request: failed to send message ...
Vasya Ivanov
9
ребят, привет. за какое время бот полученную заявку на вступление в группу может принять \отклонить? Помню речь была про 5 минут, сейчас как?
Роман Ромашин :)
10
Здравствуйте, не приходят события добавляя бота в чат. С чем это может быть связано?
Cos Not everyone
1
вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Доброго времени суток. Правильно ли я понимаю, что с введением новой платежной единицы stars, я просто могу оставить текущую платёжку от Юкассы, которая выполняется на сайте с...
Prokhor Chulkov
7
Карта сайта