python从数据库读取几百万条的数据结果内存直接爆掉
来源:互联网 发布:java初级工程师 编辑:程序博客网 时间:2024/05/21 12:00
转载自:http://blog.csdn.net/luckyzhou_/article/details/69061621
Python导数据的时候,需要在一个大表上读取很大的结果集。
如果用传统的方法,Python的内存会爆掉,传统的读取方式默认在内存里缓存下所有行然后再处理,内存容易溢出
解决的方法:
1)使用SSCursor(流式游标),避免客户端占用大量内存。(这个cursor实际上没有缓存下来任何数据,它不会读取所有所有到内存中,它的做法是从储存块中读取记录,并且一条一条返回给你。)
2)使用迭代器而不用fetchall,即省内存又能很快拿到数据。
需要注意的是,
1.因为SSCursor是没有缓存的游标,结果集只要没取完,这个conn是不能再处理别的sql,包括另外生成一个cursor也不行的。
如果需要干别的,请另外再生成一个连接对象。
2. 每次读取后处理数据要快,不能超过60s,否则mysql将会断开这次连接,也可以修改 SET NET_WRITE_TIMEOUT = xx 来增加超时间隔。
阅读全文
0 0
- python从数据库读取几百万条的数据结果内存直接爆掉
- java从数据库中几百万的数据解决方案
- java读取大文本直接插入Mysql数据库,10万条数据4秒执行完
- 巧用Excel创建几百万条Loadrunner参数化数据
- 从数据库读取前10条数据
- 从数据库读取数据,该数据作为参数传入万得的wsd命令中
- 几百万的数据,mysql快速高效创建索引
- Sql存储查询数据导出Excel文件(注意:有几百万条数据)
- 数据库的应用——直接从内存中读取osg节点
- 数据库的应用——直接从内存中读取osg节点
- 解决几百万条以上数据分页让人蛋疼的 SQL2005, SQL2008最后一页卡死,最后一页查询超时的源码
- python读取几千万行的大表内存问题
- oracle sql 分页 几百万数据
- PHP随机从数据库读取N条数据
- 我的创业 ——从一万六到几百万,从个人拼搏到团队作战
- python pickle模块使用-将内存数据保存到文本中以及从文本中直接读取信息到内存中
- java一次性查询几十万,几百万数据解决办法
- java一次性查询几十万,几百万数据解决办法 .
- 算法第九周Edit Distance[hard]
- 虚拟机下的Ubuntu16.04
- 设计模式六大原则(2):里氏替换原则
- 哈弗曼树 C语言
- muduo库源码学习(base)mutex
- python从数据库读取几百万条的数据结果内存直接爆掉
- Ubuntu16.04,CUDA8.0,Caffe-ssd,OpenCV3.1配置指南(二)
- java 将ftl文件作为模板导出word文档
- 收集的面试中的脑力题智力题
- CorelDraw油字体怎么做是一个菜鸟和大师的区别
- [DP] BZOJ2660: [Beijing wc2012]最多的方案
- 祖冲之是如何求取 Pi 的(原理很简单,初中的水平就可以懂)
- haproxy 实用配置解析
- 基于VisualStudio2017的opencv3.3.0的配置