sql >> Databáze >  >> RDS >> Mysql

Použití bulk_update_mappings v SQLAlchemy k aktualizaci více řádků s různými hodnotami

Přístup je z hlediska použití správný. Jediná věc, kterou bych změnil, je něco jako níže

mappings = []
i = 0

for b, foo_x in session.query(Bar, Foo.x).join(Foo, Foo.id==Bar.foo_id):
    info = {'id':b.id, 'x': foo_x}
    mappings.append(info)
    i = i + 1
    if i % 10000 == 0:
        session.bulk_update_mappings(Bar, mappings)
        session.flush()
        session.commit()
        mappings[:] = []

session.bulk_update_mappings(Bar, mappings)

Tím zajistíte, že vám v paměti nebude viset příliš mnoho dat a že do DB nebudete vkládat příliš velké množství najednou




  1. sql jdbc getgeneratedkeys vrátí id sloupce nenalezeno, typ sloupce neznámý

  2. Nejlepší datový typ pro ukládání hodnot měn v databázi MySQL

  3. Jak převést typ jsonb PostgreSQL 9.4 na plovoucí

  4. SQL Server Parallel Backup Restore -1