1 执行引擎演进
- 传统数据库
执行引擎一般负责查询的执行 。
执行引擎在SQL执行栈中接受优化器 生成的执行计划Plan , 并通过存储引擎提供的数据读写接口, 实现对数据进行计算得到查询结果集。
- 分布式数据库
执行引擎范围还应包括节点间网络数据交换和传输部分。

2 执行引擎功能
- 位于SQL引擎和存储引擎之间,负责将数据从存储引擎读取出来,根据执行计划将数据处理加工返回给客户端。
- 迭代器模式,控制流向下 ,数据流向上 ,上层算子驱动下层算子获取数据。

3 执行引擎处理流程
-
初始化:迭代遍历整个PlanTree,对每个算子进行初始化操作。包括初始化 状态节点、初始化元组表、初始化子节 点、初始化元组类型和投影信息等。
-
执行:当前算子依据算子类型处理下 层算子返回值, 处理后返回给上层算子。
-
结束:迭代遍历整个PlanTree,清理 对应算子内的资源。
