Бабушка, смотри, я сделал двач! Войти !bnw Сегодня Клубы
помогите оптимизировать запрос. Есть огромное кол-во id (около 20 млн), нужно везде поменять зничение одного поля средствами python+sqlalchemy. Пробовал по разному - тормозит просто дико, выполняется несколько часов. Один из примеров: query = db.session.query(Test) query.filter(Test.id.in_(test_ids)).update({Test.huj: 0}, synchronize_session='fetch')
#LEEUR5 / @soko1 / 3420 дней назад

посмотри как выглядит результирующий запрос (в мускуле show processlist например)
#LEEUR5/JHP / @stiletto / 3420 дней назад
>огромное кол-во >20 млн kek //вангую мускулопроблемы
#LEEUR5/9X8 / @anonymous / 3420 дней назад
@anonymous это постгрес
#LEEUR5/TBE / @soko1 --> #LEEUR5/9X8 / 3420 дней назад

нахер тебе orm для этого? Херачь sql-запросом да и всё.

#LEEUR5/30H / @anonymous / 3420 дней назад
@anonymous а что изменится? скорость выше будет штоле?
#LEEUR5/GW8 / @soko1 --> #LEEUR5/30H / 3420 дней назад

@soko1 прозреваю что твой orm каждую запись отдельным запросом апдейтит, в raw sql можно одним запросом херануть.

#LEEUR5/NQX / @anonymous --> #LEEUR5/GW8 / 3420 дней назад
@4077 не понимаю как работает электроника, но пользуюсь ею (пруф или понимаю (дихотомист решил бы этот вопрос)), прост ормы не нужны
#LEEUR5/3A5 / @mugiseyebrows --> #LEEUR5/Q51 / 3420 дней назад
@4077 orm умеет и всё за раз
#LEEUR5/9VX / @anonymous --> #LEEUR5/Q51 / 3420 дней назад
@anonymous не думаю что орм настолько глуп. Обычно нужно вручную коммитить изменения db.session.commit()'ом. Ну и да, в момент выполнения этой команды ни одна запись в СУБД не меняется сколько б я не прождал (меня хватало максимум на два часа)
#LEEUR5/HYZ / @soko1 --> #LEEUR5/NQX / 3420 дней назад

@4077 ето

#LEEUR5/GUR / @anonymous --> #LEEUR5/BUR / 3420 дней назад
@4077 да один хуй. и с fetch и без него пробовал
#LEEUR5/ERA / @soko1 --> #LEEUR5/5LJ / 3420 дней назад

@soko1 пук

#LEEUR5/6FI / @anonymous --> #LEEUR5/ERA / 3420 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.