1
我使用MySQLdb作爲我的python-mysql連接。我的測試代碼如下:爲什麼MySQLdb獲取重複的db連接
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時,這是一個問題。即當一個進程完成工作時,它會關閉連接,而其他人仍然使用相同的數據庫連接,我應該如何解決這個問題。
我刪除了db.close(),我仍然得到相同的連接對象。 – Jack
我正在使用多進程來查詢mysql,每個進程我創建了一個新的連接,但他們有重複。當相同的連接被前面的過程關閉時,它會導致異常。我很困惑,MySQLdb中是否有默認的連接池?如果是這樣,我真的不想使用它。 – Jack
db.close不是有趣的部分。當對象被釋放時,連接可能隱式關閉。 –