Задать вопрос
valexeich
@valexeich

Как ускорить запись в базу?

Пишу в базу 50к записей с этим кодом, это длилось целый час, как можно это ускорить?
for buyer_pays, you_receive in buyer_to_receive.items():
        await BuyerToReceive.objects.create(buyer_pays=buyer_pays, you_receive=you_receive)
  • Вопрос задан
  • 166 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019
Bigdata Engineer
Тут скорее всего ничего нельзя сделать. Судя по всему используется Django ORM.
А любые ORM библиотеки не подходят для массовой загрузки-выгрузки.
Надо просто отказаться от ORM и работать на уровне БД (Mongo/MySQL)
их собственными средствами пакетной загрузки.
Ответ написан
@rPman
для sqlite настоятельно рекомендую разместить ее файл на ram диске (временно на время длительных операций), никакие другие способы не дадут такого ускорения записи, sqlite все же не про скорость

а так да, менять логику поведения и убирать commit после каждого запроса, делая его раз на тысячу-десяток тысяч модификаций
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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