問題:PyMySQL在獲取數據時提供了fetchone()和fetchall()函數來獲取結果集,但是會一次將所有結果獲取到,這在數據量很大時將會消耗大量內存。
解決:DictCursor
游標類的方法返回都是一個迭代器,可以使用這個迭代器進行迭代獲取,這樣就不用一次將所有數據保存在內存中了
使用:
import pymysql
src_pc_database = pymysql.connect(host='192.168.1.1', port=3306, user='', password='',
db='testdataanalyse',
charset='utf8', cursorclass=pymysql.cursors.SSDictCursor)
然后正常使用fetchall或者fetchone就可以了。
