相关术语 
=========================



**执行计划** 

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

#### **本地计划** 

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

#### **远程计划** 

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

#### **分布式计划** 

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

#### **访问路径** 

访问某张表时使用的访问方式，包括主表访问和二级索引访问两类。具体参见 [访问路径](../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/1.access-path-3/1.overview-16.md)。

#### **联接顺序** 

多表联接时各表之间的联接顺序，目前 OceanBase 数据库仅支持左深树的联接顺序。具体参见 [联接顺序](../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/3.join-order-3.md)。

#### **联接算法** 

执行两表联接时使用的算法，包括 NESTED LOOP JOIN、MERGE JOIN 和 HASH JOIN 三种。

#### **查询改写** 

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

#### **执行计划绑定** 

用户通过给定 outline 来指定某条 SQL 的执行计划的过程，具体参见 [计划绑定](../12.sql-optimization-guide-1/4.sql-optimization-1/6.manage-execution-plans-1/2.plan-binding-1.md)。

#### **SQL Plan Management(** **SPM)** 

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

#### **Adaptive Cursor Sharing(ACS)** 

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

#### **Data Flow Object(DFO)** 

分布式计划以数据重分布点为边界，切分为可以并行执行的逻辑子计划，每个子计划由一个 DFO 进行封装。
