pymysql 解决fetchall查询大量数据占用内存过高问题

时间:2020-01-02 13:16:06   收藏:0   阅读:359

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

原文:https://www.cnblogs.com/vinic-xxm/p/12132243.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!