结果集流式

TiDB v8.5.6 对结果集流式返回、pipeline 模式是否有优化改动,可能导致应用端兼容性问题?

v8.5.6默认开启按需流式 Cursor 是 fetch 慢、local_stream 高的核心改动,本质是 TiDB 从「服务端全缓存」变成「客户端驱动控制数据拉取节奏」,90% 兼容故障源于驱动版本过低 + 未配置合理 fetchSize

TiDB v8.5.6 在结果集流式返回和 pipeline 模式上无破坏性改动,未引入导致应用端兼容性问题的变更

TiDB 8.5.6 优化了查询结果集流式返回与 Pipelined DML 流水线写入,默认行为无变更,仅启用流水线 DML 时存在少量使用限制,一般不会引发应用兼容性问题

这个问题可以看看官方文档的 FAQ,TiDB 在这块有比较详细的说明。方便的话贴一下具体的报错日志,方便大家帮忙定位。

可以先看看官方的FAQ

官方文档有很详细的介绍

TiDB 始终支持基于 cursor/fetch 的流式结果返回(非一次性加载全量结果到内存),‌v8.5.6 未改变此行为 ‌;相关优化(如内存使用、大结果集处理)属于性能改进,不影响协议或语义兼容性。

手册里好像是有的

TiDB v8.5.6 优化了流式返回和 Pipeline 模式。若 JDBC 驱动版本过低或 fetchSize 未配置,可能导致查询阻塞或性能下降。

这个问题可以看看官方文档的 FAQ,TiDB 在这块有比较详细的说明。方便的话贴一下具体的报错日志,方便大家帮忙定位。

TiDB 的 pipeline 指执行算子间的流水线化(如 probe-build 并行),‌v8.5.0–v8.5.6 无新增或废弃 pipeline 事务/DML 模式 ‌;Pipelined DML(v8.0 引入)仅影响大事务写入路径,与查询结果返回无关,且 v8.5.6 仍默认禁用(需显式开启 tidb_enable_pipelined_dml),不自动生效。‌

v8.5.6 主要变更集中在‌外键锁、列级权限、慢日志规则、统计信息版本弃用等,‌未修改 SQL 执行引擎对流式结果或基础 pipeline 的语义