Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на bulk_update_mappings в SQLAlchemy за актуализиране на множество редове с различни стойности

Подходът е правилен по отношение на употребата. Единственото нещо, което бих променил е нещо като по-долу

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)

Това ще гарантира, че нямате твърде много данни, висящи в паметта, и няма да правите твърде голямо вмъкване в DB наведнъж




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да добавя mode=mysql към вградената H2 DB в Spring Boot 1.4.1 за @DataJpaTest?

  2. Извличане на данни за броене от Firebase като MySQL

  3. Как да получите еквивалент на ResultSetMetaData без ResultSet

  4. Как да извлечете качени файлове с помощта на php

  5. lower_case_table_names=1 на Ubuntu 18.04 не позволява на mysql да стартира