Вставка большого кол-ва записей одним запросом

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
an.viktory@gmail.com
Сообщения: 487
Зарегистрирован: 2016.09.05, 23:21

Вставка большого кол-ва записей одним запросом

Сообщение an.viktory@gmail.com » 2019.06.11, 14:30

предположим есть 100 объектов AR и мне надо их сохранить в базу.
В принципе я могу составить сырые запросы и отравить из пачкой но при этом с пропущу валидацию и не буду проверять а стоит ли вообще сохранять объект т.е. к нем может не быть изменений.
Можно ли как то чтобы на методе save брать сырой запрос, собрать их все и отправить пачкой.
Очереди не предлагать т.к. нужные живые данные.

Аватара пользователя
SiZE
Сообщения: 2695
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Вставка большого кол-ва записей одним запросом

Сообщение SiZE » 2019.06.11, 16:42

Ты можешь за один раз в цикле и вызывать валидацию, и собрать сырой запрос.
в поиске работы

an.viktory@gmail.com
Сообщения: 487
Зарегистрирован: 2016.09.05, 23:21

Re: Вставка большого кол-ва записей одним запросом

Сообщение an.viktory@gmail.com » 2019.06.11, 17:13

ну ведь это немного кослыли. другого решения как я понимаю нет или оно не имеет смысла в плане выигрыша производительности ?

Аватара пользователя
SiZE
Сообщения: 2695
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Вставка большого кол-ва записей одним запросом

Сообщение SiZE » 2019.06.12, 18:16

an.viktory@gmail.com писал(а):
2019.06.11, 17:13
ну ведь это немного кослыли. другого решения как я понимаю нет или оно не имеет смысла в плане выигрыша производительности ?
Костыли.. ))) Это компромисс между удобно и быстро.
в поиске работы

Аватара пользователя
ElisDN
Сообщения: 5355
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Вставка большого кол-ва записей одним запросом

Сообщение ElisDN » 2019.06.12, 20:59

an.viktory@gmail.com писал(а):
2019.06.11, 17:13
в плане выигрыша производительности ?
Ну выиграете десять секунд за месяц. Выпишут премию в 4 рубля. Оно того стОит?

Ответить