技术评审:查证明细表查询导出报表时StarRocks异常问题处理方案
| 项目 | 内容 |
|---|---|
| 日期 | 2026-03-19 17:00 ~ 17:30 |
| 参与人 | 潘玉平、王建朝、张建利、王凯、马奇 |
| 评审结果 | ⚠️ 有条件通过 |
| 方案文档 | 查看 |
评审背景
查证明细表导出相关 SQL 因联表关系复杂,执行过程中频繁出现报错,导致明细表无法正常导出。
核心讨论
解决方案
拦截器方案:在 Mybatis 中添加拦截器,精准拦截 StarRocks 明细查询/导出相关的特定 map 函数,函数执行前先设置 session 级专属变量,规避 StarRocks 使用 Dict 功能引起的执行异常。
拦截冲突处理:针对 mybatisplus 与原生 Mybatis 拦截器可能存在的重复拦截问题,已在拦截器中添加专属判断逻辑,避免拦截冲突导致的系统异常。
代码走查
拦截判断部分须将处理逻辑使用 Set 集合方式进行计算,计算复杂度可从 O(n) 下降到 O(1),有效提升计算效率。
决议
- ⚠️ 技术方案有条件通过
- 此方案为短期方案,长期方案建议从产品功能层面规划设计简化数据加工处理逻辑
- 拦截器逻辑需使用 Set 集合优化计算效率