SQL层
- General SQL Engine Overview
Connectivity Module
通过守护进程进行连接器管理,为每个客户端构造新的执行器
使用预定义的访问协议从客户端接收和解包流
使用预定义的访问协议将操作结果打包并发送给客户端
具有事务子系统接口的事务控制
Parser Module
- 词法分析:
•令牌流
•模式和状态
- 语法分析:
•数据结构:AST
•算法:自下而上,自上而下
- 语义分析
•名称解析
•类型检查
•特权检查
•查询重写
Plan Module
- 优化程序:
•表访问方法
•联接访问顺序
•成本评估
- 执行计划:
•最佳成本计划选择
•构造查询计划树
Executor Module
- 物理计划:
•包含物理信息。
•执行步骤。
- 迭代器:
•迭代执行计划
•输入,输出流
•连接,排序,联合…
- 并行:
•如果可以在此迭代器中,请尝试并行执行。
Utility Module
- 目录数据:
•对象:表,视图,函数,变量…
•系统:系统表,系统控制设置…
- 缓存:
•语句缓存,编译器性能
•系统缓存,元数据性能。
•结果缓存,查询性能。