Skip to content

技术评审:查证明细表查询导出报表时StarRocks异常问题处理方案 ​

项目内容
日期2026-03-19 17:00 ~ 17:30
参与人潘玉平、王建朝、张建利、王凯、马奇
评审结果⚠️ 有条件通过
方案文档查看

评审背景 ​

查证明细表导出相关 SQL 因联表关系复杂,执行过程中频繁出现报错,导致明细表无法正常导出。

核心讨论 ​

解决方案 ​

  1. 拦截器方案:在 Mybatis 中添加拦截器,精准拦截 StarRocks 明细查询/导出相关的特定 map 函数,函数执行前先设置 session 级专属变量,规避 StarRocks 使用 Dict 功能引起的执行异常。

  2. 拦截冲突处理:针对 mybatisplus 与原生 Mybatis 拦截器可能存在的重复拦截问题,已在拦截器中添加专属判断逻辑,避免拦截冲突导致的系统异常。

代码走查 ​

拦截判断部分须将处理逻辑使用 Set 集合方式进行计算,计算复杂度可从 O(n) 下降到 O(1),有效提升计算效率。

决议 ​

  1. ⚠️ 技术方案有条件通过
  2. 此方案为短期方案,长期方案建议从产品功能层面规划设计简化数据加工处理逻辑
  3. 拦截器逻辑需使用 Set 集合优化计算效率