问题: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就可以了。