Через что лучше осуществлять вставку/обновление большого количества записей в YII2, DAO, или AR?

В модуле CSV Импорта производиться чтение с CSV файла, и последующие операции вставки/обновления в БД. Файлы csv могут быть большими, от нескольких десятков до нескольких сотен тысяч строк. Соответственно вопрос. Чем лучше осуществлять вставку/обновление большого количества записей, DAO или AR? Или можно не бояться, AR нормально потянет?
  • Вопрос задан
  • 960 просмотров
Решения вопроса 2
@hector
php программист
Если данные правильные то дешевле будет DAO. Если нужна вальвация или присутствуют какие-либо события в модели на сохранение то AR.
Ответ написан
Akdmeh
@Akdmeh
PHP, Yii2, Music
Вы знаете, разница между AR и DAO была тогда, когда в первой версии Yii AR обновляла все поля в модели при запросе на UPDATE независимо от того, какие из них были изменены.
Во второй версии Yii2 над оптимизацией была проведена замечательная работа, поэтому если разница в количестве памяти и есть, то не слишком большая, а запросы, по сути, будут отправляться те же.
Поэтому если не критично время исполнения, и вы грамотно будете использовать ModelName::find()->each(), и при этом не забудете выключить режим debug, то используйте AR.
Это, конечно, если нет экзотических и специфических запросов.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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