推广 热搜: 公司  快速  上海  中国  未来    企业  政策  教师  系统 

大数据量查询容易OOM?试试MySQL流式查询

   日期:2024-10-31     作者:caijiyuan    caijiyuan   评论:0    移动:http://keant.xrbh.cn/news/12088.html
核心提示:程序访问数据库时,当查询出来的数据量特别大时,数据库驱动把加载到的数据全部加载到内存里,就有可能会导致内存溢出(OOM)。

  程序访问数据库时,当查询出来的数据量特别大时,数据库驱动把加载到的数据全部加载到内存里,就有可能会导致内存溢出(OOM)。其实在数据库中提供了流式查询,允许把符合条件的数据分批一部分一部分地加载到内存中,可以有效避免OOM;本文主要介绍如何使用流式查询并对比普通查询进行性能测试。

大数据量查询容易OOM?试试MySQL流式查询

  使用JDBC的的方法设置为 或使用方法可以实现流式查询,在执行方法时,会通过数据库连接一条一条的返回,这样也不会大量占用客户端的内存。

PS:上面的例子中通过参数  来切换流式查询与普通查询,用于下面做测试对比。

创建一张测试表  进行测试,总数据量为  条,分别使用以下4个测试用例进行测试:

  1. 大数据量普通查询(27w条)
  2. 大数据量流式查询(27w条)
  3. 小数据量普通查询(10条)
  4. 小数据量流式查询(10条)

3.1.1. 查询耗时

27w 数据量用时 38 秒 

file

3.1.2. 内存占用情况

使用将近 1G 内存 

3.2.1. 查询耗时

27w 数据量用时 37 秒

 

3.2.2. 内存占用情况

由于是分批获取,所以内存在30-270m波动 

3.3.1. 查询耗时

 

3.4.1. 查询耗时

 

本文地址:http://lianchengexpo.xrbh.cn/news/12088.html    迅博思语资讯 http://lianchengexpo.xrbh.cn/ , 查看更多
 
标签: 查询 数据量 试试
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号