- 类型: 性能调优/技术原理
- 话题标题: 并行执行开启后,为什么我的复杂关联查询反而变慢了?向量化引擎的适用场景求解析。
-
话题内容:
我们在OceanBase上跑一些复杂的数仓查询(涉及多个大表的JOIN和聚合),按照官方建议开启了并行查询(PARALLEL)并尝试触发向量化执行。
但发现某些查询的执行时间比不开启并行还要长(观察执行计划也确实用了并行)。通过GV$SQL_PLAN_MONITOR看到有些worker线程在等待。
我的疑问是:- 向量化引擎是不是对数据格式有特定要求?如果表中存在大字段(如Text/Blob)是否会影响加速效果?
- 如何判断一个SQL是否真正适合用并行执行?有没有一套诊断流程来确定并行度的最优值?
1 个赞
期待高手指点
实战!!!!