python mysqldb 使用完需要关闭吗?

2016-04-11 18:53:23 +08:00
 myyou

在 python 中新建连接 con=MySQLdb.connect("127.0.0.1","root","password","database")获取游标 cursor=con.cursor() 在 con.commit()结束后需要关闭运行 con.close()还是只需要运行 cursor.close()关闭游标不关闭连接?

4879 次点击
所在节点    Python
9 条回复
peter999
2016-04-11 19:02:02 +08:00
cursor.close()
con.close()
icedx
2016-04-11 19:03:48 +08:00
单线程环境不建议频繁 con.close()
多线程请交给 ORM 框架来做
myyou
2016-04-11 19:04:24 +08:00
@peter999 con.close()关闭后游标不是会自动关闭吗?
myyou
2016-04-11 19:06:10 +08:00
@icedx 单线程环境是不是只需要关闭游标啊?
peter999
2016-04-11 19:15:42 +08:00
教程上是这么写的,我一般用连接池,很少直接用链接了
icedx
2016-04-11 19:43:37 +08:00
@myyou 是的
myyou
2016-04-12 10:05:31 +08:00
@peter999 你说的连接池是 PooledDB 吗?这个连接池需要关闭吗?
peter999
2016-04-12 10:09:41 +08:00
需要,不过不是关闭数据库,只是释放回连接池。如果使用 django 这种自带 orm 的,就不需要 close 了
myyou
2016-04-12 10:12:44 +08:00
@peter999 明白了谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/270259

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX