为什么SQLAlchemy批量更新映射操作会很慢?

时间:2019-03-06 07:45:18

标签: python python-3.x sqlalchemy

我有一个ETL作业,在那里我大量更新了约15万行。 bulk_update_mappings运行大约90分钟:

session.bulk_update_mappings(cls, object_list)

此处session已将autocommit设置为False。我怀疑这与SQLAlchemy如何处理字典中的None有关,所以我想了解如何准备UPDATE

  • 如何在映射中处理None
  • 是否存在基于非空列组合的多个UPDATE
  • 如果我根据哪些列为空对对象进行预排序会有所帮助吗?
  • 批量更新会有所帮助吗?
  • 仅更新确实需要更新的内容(即先获取数据,进行比较和更新)会更快吗?

我正在将Python 3.6与SQLAlchemy 1.3.0一起使用。感谢您的建议!

0 个答案:

没有答案