首页 > 解决方案 > Flask SQLAlchemy bulk_save_objects 没有性能改进

问题描述

@app.route('/create_bulk_items')
def create_bulk_items():
   engine = db.get_engine(bind=session['info']['vendor_name'])
   sql_session = sessionmaker(bind=engine)()
   products_arr = []
   for productItem in products:
       products_arr.append(productItem)
   sql_session.bulk_save_objects(products_arr)

我还尝试了核心 API 方式

def bulk_orm_insert(self,  simulation, default_mechanism, model, skus):
        SkuTable = inspect(model).local_table
        self.session.execute(SkuTable.insert(), skus)

使用以下代码在数据库中保存 10 个项目需要 10 秒。我试过使用核心、bulk_insert_mappings,结果相同。我是否必须在 db.get_engine 级别启用任何功能才能获得此处显示的相同性能?

https://docs.sqlalchemy.org/en/14/faq/performance.html

标签: pythonpostgresqlflasksqlalchemypsycopg2

解决方案


推荐阅读