OceanBase V4 中并行执行如何工作?Auto DOP 是什么?
并行执行将 SQL 任务拆分为多个子任务,调度到多个线程/节点上并行处理,缩短响应时间。
执行流程:
- QC(Query Coordinator) 预约线程资源,将计划切分为多个 DFO(Data Flow Operation)。
- 各节点 SQC(Sub Query Coordinator) 为 DFO 申请资源并启动并行线程。
- DFO 之间以生产者-消费者流水线模式执行,最终由 QC 汇总结果返回。
开启方式:
-
手动 :通过
/*+ PARALLEL(n) */Hint 指定并行度,或分区表查询目标分区数 > 1 时自动开启。 -
Auto DOP(V4.2 起) :设置
parallel_degree_policy = AUTO,优化器根据查询代价自动判断是否开启并行及并行度大小,避免手动指定的不便。
适用场景: 大表扫描、复杂 JOIN、聚合查询、批量 DDL/DML;不适用于高并发短查询(执行时间 < 100ms)。