sql查询数据过多内存溢出的解决方法
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍sql查询数据过多内存溢出的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!正常来说,一般是不会出现这种情况的,但也不能保证,偶尔有这种情况发生,解决方案
千家信息网最后更新 2026年11月03日sql查询数据过多内存溢出的解决方法
这篇文章主要介绍sql查询数据过多内存溢出的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
正常来说,一般是不会出现这种情况的,但也不能保证,偶尔有这种情况发生,解决方案如下:
使用分页查询语句。
因为分页查询每次只会查询少量数据,所以不会占用太多内存,而且数据量很大的时候,分页查询会节约一些时间的。
String sql = " SELECT uid,uname FROM t_user LIMIT ?,? " ; PreparedStatement ps = con.prepareStatement(sql) ; int pageSize = 10000; int pageId = 0; do { pst.setInt(1, pageId * pageSize); pst.setInt(2, pageSize); ResultSet rs = pst.executeQuery(); boolean isEmpty = true; while (rs.next()) { isEmpty = false; id = rs.getInt(1); name = rs.getString(2); } if (isEmpty) { break; } pageId++; } while (true); con.close(); } catch (SQLException e) { e.printStackTrace(); }添加url参数配置
在jdbc的URL上加两个参数就OK,成功解决内存溢出的问题。
"jdbc:mysql://localhost:3306/db3?useCursorFetch=true&defaultFetchSize=100";
( 解释一下Fetch,当我们执行一个SQL查询语句的时候,需要在客户端和服务器端都打开一个游标,并且分别申请一块内存空间,作为存放查询的数据的一个缓冲区。这块内存区,存放多少条数据就由fetchsize来决定,同时每次网络包会传送fetchsize条记录到客户端 )
以上是"sql查询数据过多内存溢出的解决方法"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
查询
数据
内存
方法
过多
内容
参数
客户
客户端
情况
时候
篇文章
语句
很大
成功
两个
价值
兴趣
同时
小伙
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡
为想互联网科技怎么样
狮子座互联网科技
奇酷互联网科技公司
凡科互联网科技
互联网女皇 腾讯科技
亿账通互联网科技
互联网科技视频素材
宁夏众和广鑫互联网科技有限公司
中国互联网公司排名锤子科技
四川慕妮娅互联网科技有限公司
工业互联网等科技实现智能化赋能
长沙互联网科技
中科明德北京互联网科技
锡山区互联网智能科技产品供应
广州富喜互联网络科技
工业互联网科技成果转化
卡尔迅互联网科技有限公司
科技互联网经济论坛
互联网科技快速发展优美句子
互联网科技工作委员会毛军
新华互联网科技学院
智能科技公司是互联网公司吗
互联网络科技有限公司
成都仁贤领冠互联网科技有限公司
互联网和黑科技的看法
互联网科技公司有风险吗
保险科技服务互联网营销体系
互联网金融科技元年
云南互联网科技学费