sql >> Database >  >> RDS >> Mysql

Bulk_update_mappings gebruiken in SQLAlchemy om meerdere rijen met verschillende waarden bij te werken

De aanpak is correct in termen van gebruik. Het enige dat ik zou veranderen is zoiets als hieronder

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)

Dit zorgt ervoor dat er niet te veel gegevens in het geheugen blijven hangen en dat u niet in één keer een te grote invoer in de DB doet




  1. Converteer een Juliaanse dag naar een datum in PostgreSQL

  2. Hoe tekenreeks naar tijdstempel te converteren zonder tijdzone

  3. Wat is @@TEXTSIZE in SQL Server?

  4. Ad-hoc verbindingsreeksen en heterogene query's voor MS Access