0
我在這裏看到了一些答案,在每個查詢之前打開一個新的MySQL遊標,然後關閉它。是否爲每個查詢打開一個新的MySQL遊標緩慢?
這樣慢嗎?我不應該通過傳遞參數來回收遊標嗎?
我有一個無限循環的程序,所以最終連接將在默認的8小時後超時。
編輯:
按照要求,這是處理SQL查詢的相關代碼:
def fetch_data(query):
try:
cursor = db.Cursor()
cursor.execute(query)
return cursor.fetchall()
except OperationalError as e:
db = fetchDb()
db.autocommit(True)
print 'reconnecting and trying again...'
return fetch_data(query)
您應該將當前功能標識爲配置文件的瓶頸。還有一個類似於你自己的問題:http://stackoverflow.com/questions/8099902/should-i-reuse-the-cursor-in-the-python-mysqldb-module –
@ hd1誰說的基本功能沒有完成?它完成了,我只是修復了第一個10k-20k迭代之後發生的錯誤,而且它依賴於這個問題。 – User
發佈您的代碼,@macdonjo,請...我會看看 – hd1