关于 OceanBase 分布式执行计划的生成机制,以下描述正确的是?

关于 OceanBase 分布式执行计划的生成机制,以下描述正确的是? 单选题

A. 分布式执行计划的生成分为两个阶段:第一阶段优化器忽略数据物理分布生成最优局部执行计划,第二阶段通过在合适位置插入 EXCHANGE 算子将局部计划转换为分布式计划。

B. 当优化器检测到 SQL 访问的是单分区表时,无论用户是否使用并行查询 Hint,都必须生成本地执行计划,不允许生成分布式执行计划。

C. 对于 GROUP BY 聚合操作,只要输入数据的分发方式与 GROUP BY 键一致,就必须强制使用两阶段聚合,即需要将 AGGREGATION 算子拆分为上下两层分别执行。

D. 分布式执行计划的生成过程中,EXCHANGE 算子的插入位置是固定的,必须插入在 TABLE SCAN 算子的正下方,不能在其他算子之间插入。

1 个赞

解析 :OceanBase 优化器生成分布式执行计划分为两个阶段:第一阶段先忽略数据物理分布生成最优局部执行计划,第二阶段在需要数据重分发的位置插入 EXCHANGE 算子,将局部计划树转换为分布式计划。

选项 B 错误,当用户使用并行查询 Hint 强制要求并行执行时,即使访问的是本地单分区表,也可以生成分布式/并行执行计划;

选项 C 错误,如果输入数据的分发与 GROUP BY 键一致,系统会进行单阶段聚合 (partition-wise aggregation),而非强制使用两阶段聚合;

选项 D 错误,EXCHANGE 算子的插入位置是优化器自顶向下遍历计划树时动态判断的,需要分析各算子的数据处理结果和输入数据分区情况后决定,并非固定插入位置。

1 个赞

正确答案:A

题库是哪里搞到的?

没有题库