名词解释

执行计划

优化器为某条 SQL 生成的执行过程,一般使用操作符树来表示。

本地计划

当执行计划只涉及到单表或分区表的单个分区,且该表或分区在本节点时,该计划为“本地计划”。

远程计划

当执行计划只涉及到单表或分区表的单个分区,且该表或分区在其他节点时,该计划为“远程计划”。

分布式计划

当执行计划涉及到多表或多分区时,该计划为“分布式计划”。

访问路径

访问某张表时使用的访问方式,包括主表访问和二级索引访问两类。具体参见访问路径章节。

连接顺序

多表连接时各表之间的连接顺序,目前OceanBase仅支持左深树的连接顺序。具体参见连接顺序章节。

连接算法

执行两表连接时使用的算法,包括 nested-loop joinmerge joinhash join 三种。

查询改写

通过对用户查询做等价的查询改写以便于生成最佳执行计划的过程。

Outline

用户为指定 SQL 执行计划所设置的约束条件,具体参见Outline章节。

执行计划绑定

用户通过给定 outline 来指定某条 SQL 的执行计划的过程,具体参见计划绑定章节。

SQL Plan Management,SPM

一种计划演进的机制。当优化器生成新的计划时,需要通过演进机制来保证这个计划的性能不会出现回退,如果出现回退,就拒绝使用该计划,否则使用该计划。

Adaptive Cursor Sharing,ACS

一种可以让优化器每一个参数化 SQL 存储多个计划,并根据 SQL 语句中谓词的选择率空间选择合适的计划的机制。