我有一个字典list_dict
的列表,如下所示:
[{u'default_bhp': False, u'price_period': u'Monthly'},{u'default_bhp': False, u'price_period': u'Yearly'}]
此刻,我正在使用以下命令将其插入到数据库中:
conn = engine.connect()
conn.execute(ModelClass.__table__.insert(), list_dict)
我只是想检查是否有更快的方法将数据插入数据库,因为我有大量的数据。
我们可以在这里使用批量copy
还是其他东西吗?
如何使用use_batch_mode
功能?如下所示:
engine = create_engine('postgresql+psycopg2://postgres:postgres@localhost/test_db', use_batch_mode=True)
conn = engine.connect()
conn.execute_batch(ModelClass.__table__.insert(), list_dict)
答案 0 :(得分:0)
考虑使用bulk_insert_mappings(如果您还不知道这一点),这可能与您想要实现的目标最接近。
但是,如果您实际上有很多数据,急切地将其分解为字典列表可能不是一个好方法,因此您可能需要在bulk_insert之上进行分组/块管理< / p>