sql查询数据过多内存溢出的解决方法
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章主要介绍sql查询数据过多内存溢出的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!正常来说,一般是不会出现这种情况的,但也不能保证,偶尔有这种情况发生,解决方案
千家信息网最后更新 2025年11月14日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安全错误
数据库的锁怎样保障安全
汉南软件开发电话
网络安全演讲稿600字作文
骆清铭兼网络安全学院院长
rust服务器界面很卡
中国网络安全技术产业园
思科网络技术实训总结
停电了数据库启动不了
专业的外汇软件开发
贵池区自动化软件开发服务哪个好
超市销售记录 数据库
让服务器蓝屏
数据库迁移工具linq
dw测试服务器拒绝访问
服务器加电测试报告
如何进入手机版我的世界的服务器
国开行软件开发中心
北京现代软件开发参考价
hugegraph数据库系统
小型科技互联网公司
网络安全日推文
计算机网络技术高级证书
广州海报设计软件开发
linux数据库安装不了
配置与管理dns服务器心得
3m带宽服务器
奇瑞智能网络技术
广东安卓软件开发专业团队
软件开发企业由那个部门管
国家软件开发价格标准
云南网络安全教育培训机构