OceanBase V4 中并行执行如何工作?Auto DOP 是什么?

OceanBase V4 中并行执行如何工作?Auto DOP 是什么?

并行执行将 SQL 任务拆分为多个子任务,调度到多个线程/节点上并行处理,缩短响应时间。

执行流程:

  1. QC(Query Coordinator) 预约线程资源,将计划切分为多个 DFO(Data Flow Operation)。
  2. 各节点 SQC(Sub Query Coordinator) 为 DFO 申请资源并启动并行线程。
  3. DFO 之间以生产者-消费者流水线模式执行,最终由 QC 汇总结果返回。

开启方式:

  • 手动 :通过 /*+ PARALLEL(n) */ Hint 指定并行度,或分区表查询目标分区数 > 1 时自动开启。
  • Auto DOP(V4.2 起) :设置 parallel_degree_policy = AUTO ,优化器根据查询代价自动判断是否开启并行及并行度大小,避免手动指定的不便。

适用场景: 大表扫描、复杂 JOIN、聚合查询、批量 DDL/DML;不适用于高并发短查询(执行时间 < 100ms)。