本节主要介绍 OceanBase 支持的分布式连接的几种典型场景。

    在如下例所示,t2 和t3 都是在 c1 这个列上进行了 key 分区,分区总数为4个分区,分区模式完全相同。当查询的条件为 t2.c1=t3.c1 and t2.c2=t3.c2时,查询条件完全包含了分区键,查询可以以分区为单位在每个分区内进行。如果并行度为4的话,该查询可以同时做4个分区的join并且将最后结果输出。

    对于同样的 t2 和 t3 表,如果连接条件既没有包含 t2 的分区键也没有包含 t3 的分区键,会生成如下例所示的计划。注意这个计划的 join 部分是在主线程完成。在后续的 OceanBase 版本中,这样的计划的 join 部分也会在工作线程以并行的方式执行。