pymysql 解決fetchall查詢大量數據占用內存過高問題


問題: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就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM