我正在使用sqlalchemy进行一个带有postgres后端的项目(我并没有特别关注sqlalchemy / postgres)。目前,我有一个“批量插入”操作,可以在数据库中创建许多行。我可以在不同的流程中创建一堆sqlalchemy会话,并将作业分配给多个工作人员以提高性能。但是,此操作是原子操作绝对至关重要。如果其中一个插入失败,则需要回滚整个事务。
经过一些研究,看到诸如Multi-threaded use of SQLAlchemy之类的线程之后,它看起来似乎不会是平凡的并行化。
有没有办法可以在不牺牲原子性的情况下帮助提高性能?