基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
关向量化 2.0 后,topn filter 下压结果不对
更新时间:2026-05-15 09:06
问题现象
含 order by limit 场景的查询,在关闭向量化 2.0 后,查询结果不对。
关键诊断信息
触发条件
关闭向量化 2.0,使用向量化 1.0。
order by limit 场景计划中存在 topn filter 下压。
事前巡检
查询是否使用了向量化 1.0,且 SQL 存在 order by limit 场景,并查看 table scan 算子中是否有 topn filter。
事后诊断
如果结果不对的查询满足使用向量化 1.0,且 table scan 算子中有 topn filter,关闭 topn filter 后,观察结果是否正确。
问题原因
在向量化 1.0 中,topn sort 在堆还没填满的情况下,就将 topn filter 下压值下压到 TableScan 进行过滤,导致查询结果不对。
问题的风险及影响
查询结果不对。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
影响版本
OceanBase 数据库企业版 V4.3.0(oceanbase-4.3.0.0-100000072024020200)及之后版本、V4.3.5 GA(oceanbase-4.3.5.0-100000122024123020)及之后版本。
解决方法
升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V4.3.3 BP1 Hotfix7(oceanbase-4.3.5.1-101070012025021915)、V4.3.5 GA Hotfix4(oceanbase-4.3.5.0-100040012025021921)、V4.3.5 GA Hotfix5(oceanbase-4.3.5.0-100050012025022422)、V4.3.5 GA Hotfix6(oceanbase-4.3.5.0-100060022025031922)、V4.3.5 GA Hotfix7(oceanbase-4.3.5.0-100070012025040810)、V4.3.5 GA Hotfix8(oceanbase-4.3.5.0-100080012025052715)、V4.3.5 GA Hotfix9(oceanbase-4.3.5.0-100090012025063017)、V4.3.5 GA Hotfix10(oceanbase-4.3.5.0-100100032025071516)、V4.3.5 GA Hotfix11(oceanbase-4.3.5.0-100110012025072810)、V4.3.5 GA Hotfix12(oceanbase-4.3.5.0-100120012026011215)、V4.3.5 BP1(oceanbase-4.3.5.1-101000292025030623)。
关闭 topn filter 下压,命令如下。
ALTER SYSTEM set_tp tp_no=617, error_code=4013, frequency=1;
规避方式
关闭 topn filter下压,命令如下。
ALTER SYSTEM set_tp tp_no=617, error_code=4013, frequency=1;不要关闭向量化 2.0,如果遇到需要关闭向量化 2.0 的场景,可以使用 SQL 级别 Hint 关闭(需要评估关闭向量化 2.0 的请求不会有问题)。