python(2.7,3.3版)是否在程序完成后立即关闭数据库连接?在
例如:
import MySQLdb
conn = sqlite3.connect(host="localost", user="adam", password="12345", db ="my_db")
c = conn.cursor()
c.execute('''SELECT * FROM MY_TABLE''')
cur.close() # Do I really need that ?
conn.close() # Do I really need that ?
如果我一次又一次地运行这个脚本,那么关闭连接会有问题吗?在
是的,我知道最好的做法是关闭所有资源。在
你的代码片段有点混乱,似乎是把mysql和sqlite3混合在一起了。在
我猜你的意思是mysql,然后把代码重写成:
然后,我使用netstat和mysql processlist检查连接状态,在我的linux上,当脚本结束时,连接关闭,让tcp连接在等待时间内如期进行。在
正如您提到的,您应该在代码中显式地关闭连接。 大多数情况下,隐式关闭连接不会导致问题,但是对于某些dbms,可能会发生一些奇怪的事情。在
例如,SQLite将回滚所有打开的事务。在
另外,我还读到在使用MYSQL时可以使用
with
语句的地方可能值得google一下。在相关问题 更多 >
编程相关推荐