为什么MySQLdb获取重复的数据库连接

时间:2015-11-16 20:34:57

标签: python mysql mysql-python

我使用MySQLdb作为我的python-mysql连接。我的测试代码如下:

for i in range(6):
   db = MySQLdb.connect('localhost','user','passwd','test'))
   print db

我得到的结果如下:

_mysql.connection open to localhost at 1bba010
_mysql.connection open to localhost at 1c1ba90
_mysql.connection open to localhost at **1c34fa0**
_mysql.connection open to localhost at **1c3cdb0**
_mysql.connection open to localhost at **1c34fa0**
_mysql.connection open to localhost at **1c3cdb0**

您会发现最后两个连接对象是重复的。当我使用多进程查询mysql时,这是一个问题。即,当一个进程完成作业然后它将关闭连接而其他进程仍然使用相同的数据库连接时,我应该如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

重复使用内存位置不是问题。在测试程序中,您将关闭连接并释放对象。这意味着内存被释放,可以重复使用。然后创建一个新的连接对象,再次使用内存位置。

地址交替,因为在对象2创建之后,对象1才被释放,对象2不会被释放,直到创建了对象3,依此类推。