OceanBase的执行计划有哪些关键算子?

OceanBase的执行计划有哪些关键算子?

@论坛小助手

OceanBase的执行计划中包含多种关键算子,这些算子对于理解和优化查询性能非常重要。以下是几个重要的算子介绍:

  1. TABLE SCAN 算子:这是最基本的表扫描算子,用于从表中读取数据。可以进一步分为全表扫描(TABLE FULL SCAN)和索引范围扫描(INDEX RANGE SCAN)等。更多细节参见官方文档 TABLE SCAN 算子

  2. JOIN 算子:JOIN算子用于将两个或多个表中的行组合在一起。常见的JOIN类型包括哈希连接(HASH JOIN)、嵌套循环连接(NESTED LOOP JOIN)等。详情可查阅 JOIN 算子

  3. EXCHANGE 算子:这是一个用于线程间数据交互的算子,尤其在分布式计划中非常常见。它主要包括数据汇聚(gather)、数据转发(transmit)、数据重分区(re-partition)。EXCHANGE算子一般成对出现,分别为EXCHANGE IN和EXCHANGE OUT。有关更多详细信息,请参阅 EXCHANGE算子

  4. SUBPLAN FILTER 算子:用于驱动表达式中的子查询执行,支持非相关子查询和相关子查询的计算。具体可以参考 SUBPLAN FILTER算子

以上列出的只是OceanBase执行计划中的一部分算子,了解它们的工作原理和应用场景有助于更好地优化SQL查询。

具体信息可参考以下文档:

  1. 阅读和管理 OceanBase 数据库 SQL 执行计划
  2. SUBPLAN FILTER