我正在使用 SQLAlchemy 和 pg8000 连接到 Postgres 数据库。
我检查了表pg_stat_activity,它向我显示了一些处于“事务空闲”状态的选择查询,其中很多。但是应用程序的读取比写入多得多,也就是说,插入很少而且相差甚远。
我怀疑每个查询都会创建一个新事务,即使对于简单的选择语句也是如此。
是否可以在不需要事务的情况下运行只读查询?这样就不需要提交/回滚了吗?
目前,该应用程序使用方法sqlalchemy.engine.Engine.execute运行其查询以进行 CRUD 操作和游标以调用存储过程。我应该如何更新这些方法调用以表明我希望其中一些不启动事务?