我正在开发一个使用SQLAlchemy ORM库的Pyramid应用程序,因此我们使用会话(sessions)。但是,我不清楚会话和连接池如何协同工作,或者在使用会话时是否需要连接池。
目前,这是我们创建会话的方式:
engine = create_engine(connection_string)
Session = sessionmaker(bind=engine)
我已经修改了引擎创建过程,添加了连接池:
pooled_engine = create_engine(connection_string, pool_size=20, max_overflow=5,echo=True, echo_pool=True)
Session = sessionmaker(bind=pooled_engine)
这似乎可行(应用程序可以连接到数据库并读写数据库),但我无法确定是否正在使用连接池。我尝试记录连接池代码,但控制台上没有看到任何内容。但我确实看到了SQL语句,这是因为将echo标志设置为True。
我不明白会话和连接池如何一起工作或者为什么在将echo_pool设置为True时我没有看到日志语句。
感谢您的帮助。