0

我是 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() # 或删除数据库

4

0 回答 0