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

应用场景

场景描述

GaussDB的流式查询是一种逐条处理结果而非一次性加载全部结果的查询机制,适用于内存资源受限的大数据查询场景,例如大数据量导出、离线分析任务以及分页或按需加载等场景,能够有效避免内存消耗和内存溢出,提高处理速度。

触发条件

JDBC连接参数enableStreamingQuery设置为true,并在调用Statement以及PreparedStatement的executeQuery方法前,将fetchSize设置为Integer.MIN_VALUE。

业务影响

使用流式查询存在以下优势:

  • 低内存消耗:流式查询显著降低了应用程序的内存占用。
  • 响应速度快:客户端可立即开始处理首批数据,无需等待全部数据就绪。

但同时也存在以下潜在风险:

  • 长连接占用:流式查询要求数据库连接在整个数据流传输过程中持续开放。这会导致连接资源长时间被占用,可能引发连接池耗尽或其他资源调度上的问题。
  • 长事务风险:在执行流式查询的事务中,锁或MVCC快照可能长时间持有,增加死锁概率或影响写入性能。

适用版本

仅支持GaussDB 505.1.0及以上版本。

相关文档