保存成功
保存失败,请重试

如何正确使用 MySQL 的流式查询

作者/分享人:加多
向 Ta 提问
加多,某大型互联网公司资深开发工程师,并发编程网编辑;热衷并发编程,微服务架构设计,中间件基础设施,著作《Java并发编程之美》,微信公众号:技术原始积累

MySQL 是目前使用比较广泛的关系型数据库,而从数据库里面根据条件查询数据到内存的情况想必大家在日常项目实践中都有使用。

当指定条件的数据量特别大时候一般是通过分页的方式在前端页面通过 Tag 标签一页页的加载数据到内存;但是有些情况下却不需要用户切换 Tag 标签的方式一页页的加载数据,这时候如果一下子全部把数据加载内存,就有可能会导致 OOM,虽然这时候可以通过程序控制分页查询,但是每次查询时候数据库都需要把所有符合条件的数据查询出来然后根据当前页的返回来返回指定的页,这无疑加重了 MySQL 服务器不必要的开销。

其实在 MySQL 中提供了流式查询,这允许把符合条件的数据一部分一部分的加载到内存,本 Chat 就来具体讲解如何在 MySQL中使用流式查询:

  • 使用流式查询前,我们是如何在 MySQL 中进行查询数据的,整个过程发生了什么?
  • 如何使用 JDBC 编程方式在 MySQL 中使用流式查询?
  • 如何在 Mybatis 中使用 MyBatisCursorItemReader 进行流式查询?
  • 如何在 Mybatis 中使用 ResultHandler 进行流式查询?
  • 什么是客户端流式查询和服务器端流式查询?
已有270人预订
预订达标
文章出炉
     
18.08.10
18.08.24
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张加多的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
查看文章评论/提问
jesse
实际应用场景多吗
加多: 挺多的,比如数据迁移,比如根据条件捞取大量设备信息群发消息
你可能还喜欢
恕我直言,90% 的程序员都扛不住这波 MQ 的面试四连炮!
王码农
被动收入 101 :使用云开发和 Taro 开发一个小程序
白宦成
[动图演示]Redis 持久化 RDB/AOF 详解与实践
韦世东
Apollo 5.0 障碍物行为预测技术
Apollo开发者社区
超高性价比的 MongoDB 零基础快速入门实战教程
韦世东
抢先阅读 Kubernetes 1.15 新特性解读
张晋涛
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效