更新时间:2025-08-19 GMT+08:00
分享

架构原理

核心原理

图1 流式查询原理
  • 执行流式查询时,服务端将数据传入客户端socket缓冲区中,直到缓冲区存满暂停。当缓冲区中出现第一条数据时,即返回第一条D报文,JDBC开始从缓冲区逐行加载并处理数据。
  • ResultSet结果集中只存放一行数据,执行next方法后,才会从缓冲区中读取下一条数据存放到结果集中,直到读取完所有的数据。

方案优势

在内存资源受限的大数据查询场景中建议使用流式查询,如果不满足业务需求,可使用以下两种查询方式。

  • 普通查询:一次获取全部数据。

    优势:结果集可以向前或者向后遍历,数据消费后还能再次处理。

    劣势:处理结果慢,结果集过大会造成内存溢出。

  • 批量查询:一次多行,多次获取。可参考批量查询

    优势:可以返回指定数量的数据,避免内存溢出。

    劣势:处理结果慢,需要多次向服务端发送查询请求。

相关文档