Python导数据的时候,需要在一个大表上读取很大的结果集。
如果用传统的方法,Python的内存会爆掉。因为无论是fetchone()还是fetchall(),都是把结果集读取到本地的。
解决的方法:
conn = MySQLdb.connect(host='ip地址', user='用户名', passwd='密码', db='数据库名', port=3306, charset='utf8', cursorclass = cursors.SSCursor) 需要注意的是,结果集只要没取完,这个conn是不能再干别的事情的,包括另外生成一个cursor也不行的。
如果需要干别的,请另外再生成一个连接对象。