我是 python 新手,学习数据库操作DBUtils
。为什么 pool.connection().cursor().execute() 会过早释放连接而无法重用?
如果您不再需要它,您应该立即使用 db.close() 将其返回到池中。您可以以相同的方式获得另一个连接。
警告:在线程环境中,切勿执行以下操作:
pool.connection().cursor().execute(...)
如果连接不是线程安全的,这将过早释放连接以供重用,这可能是致命的。确保连接对象在您使用它时保持活动状态,如下所示:
db = pool.connection()
cur = db.cursor()
cur.execute(...)
res = cur.fetchone()
cur.close() # 或 del cur
db.close() # 或删除数据库