Java 从MySQL中读取大量数据
来源:互联网 发布:网络英雄洛克人漫画 编辑:程序博客网 时间:2024/05/20 13:08
本文记录使用java的jdbc从MySQL中读取大量数据不出现OOM的方法,一般的使用jdbc读取的时候,会将查询结果全部导入到内存中,如果数据量很大的时候会出现OOM异常,本文将介绍如何使用MySQL中的分页功能,设置featchSize大小防止OOM,轻松读取海量数据的方法(笔者测试读取量为3000W行数据)
1.设置参数
SQL 参数
Connection con = null; PreparedStatement prep = null; Statement st = null; ResultSet rst = null;
代码:
try { con = DriverManager.getConnection(url); prep = con.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); prep .setFetchSize(Integer.MIN_VALUE); prep .setFetchDirection(ResultSet.FETCH_REVERSE); rst = prep .executeQuery(); while (rst.next()) { // 逻辑操作 if (count % 10000 == 0) { System.out.println(" 第 " + count + " 条数据!"); } } }catch (SQLException e) { e.printStackTrace(); } finally { try { if (rst != null) { rst.close(); } if (prep != null) { prep.close(); } if (st != null) { st.close(); } } catch (SQLException e) { e.printStackTrace(); } }
执行:
Reference
http://wentuotuo.com/2015/12/25/Java/use-cursor-read-bigdata/
阅读全文
0 0
- Java 从MySQL中读取大量数据
- 解决Java从MySQL读取大量数据时卡…
- 解决Java从MySQL读取大量数据时卡在SocketInputStream.socketRead0的问题
- matlab读入从文件中读取大量的数据
- JAVA接口将从MySql查出的大量数据导入到Elasticsearch中实现类
- 基于java的sparkSQL从mysql中读取数据
- java正则表达式从大量日志中筛选有用数据
- java中从配置文件中读取数据
- JAVA中使用JDBC插入大量mysql中的数据
- 从大量数据中除去重复数据
- java 从stdin中读取数据
- Java从Excel中读取数据
- MySQL 快速地从文件中插入大量数据记录的方法
- mysql 从大量数据表中高效随机取n条数据
- hadoop 从mysql中读取数据写到hdfs
- 从 MySQL 数据库读取数据
- php从mysql读取数据
- 如何向mysql中插入大量数据
- 论文精读2-ReLayNet: Retinal Layer and Fluid Segmentation of Macular Optical Coherence Tomography·····
- caffe 里deconvolution layer (解卷积层)的理解
- 工厂模式
- UVAlive6187【带权值并查集】
- ionic-侧滑-路由
- Java 从MySQL中读取大量数据
- JavaWeb之Session
- Luogu 1314(二分答案)(NOIP 2011)
- Apache通过更改配置文件实现url跳转和域名跳转
- 哪些情况下索引会失效?
- layerUI框架下 ztree删除按钮取消实现( layer.confirm confirm beforeRemove onRemove)
- 文件上传
- you need a c compiler to build uwsgi
- 带进度条的播放音乐