ActiveRecord и миллионы записей

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
RomanV
Сообщения: 1
Зарегистрирован: 2018.09.12, 09:28

ActiveRecord и миллионы записей

Сообщение RomanV »

Добрый всем день.
Сломал голову.
Есть 7млн записей в таблице.
Нужно их отработать (перенести в ElasticSearch)
делаю так
$query = Lot::find()->orderBy('id');
foreach ($query->each() as $lot) {
// тут предполагается обработка
}

Приложение падает.
Конда записей было 1.5 млн - отрабатывало, сейчас их 7млн и ни в какую.
Не хочу делать лишних движений типа limit и offset, хочу понять, почему each() не работает как должен.
chesar
Сообщения: 514
Зарегистрирован: 2013.04.10, 17:49

Re: ActiveRecord и миллионы записей

Сообщение chesar »

Падает по какой причине? Память, время, ошибка?
Если по времени, то надо увеличить в php.ini время выполнения
BalykhinAS
Сообщения: 179
Зарегистрирован: 2018.02.05, 13:41
Контактная информация:

Re: ActiveRecord и миллионы записей

Сообщение BalykhinAS »

RomanV писал(а): 2018.09.12, 09:59 Добрый всем день.
Сломал голову.
Есть 7млн записей в таблице.
Нужно их отработать (перенести в ElasticSearch)
делаю так
$query = Lot::find()->orderBy('id');
foreach ($query->each() as $lot) {
// тут предполагается обработка
}

Приложение падает.
Конда записей было 1.5 млн - отрабатывало, сейчас их 7млн и ни в какую.
Не хочу делать лишних движений типа limit и offset, хочу понять, почему each() не работает как должен.
а вы как запускаете приложение?
Аватара пользователя
carono
Сообщения: 52
Зарегистрирован: 2018.04.28, 11:05

Re: ActiveRecord и миллионы записей

Сообщение carono »

удаляй модель после обработки и вызывай сборщик мусора, иначе по памяти упадешь
Ответить