SQL层

  1. General SQL Engine Overview

SQL层 - 图1

Connectivity Module

  • 通过守护进程进行连接器管理,为每个客户端构造新的执行器

  • 使用预定义的访问协议从客户端接收和解包流

  • 使用预定义的访问协议将操作结果打包并发送给客户端

  • 具有事务子系统接口的事务控制

Parser Module

  • 词法分析:

•令牌流

•模式和状态

  • 语法分析:

•数据结构:AST

•算法:自下而上,自上而下

  • 语义分析

•名称解析

•类型检查

•特权检查

•查询重写

Plan Module

  • 优化程序:

•表访问方法

•联接访问顺序

•成本评估

  • 执行计划:

•最佳成本计划选择

•构造查询计划树

Executor Module

  • 物理计划:

•包含物理信息。

•执行步骤。

  • 迭代器:

•迭代执行计划

•输入,输出流

•连接,排序,联合…

  • 并行:

•如果可以在此迭代器中,请尝试并行执行。

Utility Module

  • 目录数据:

•对象:表,视图,函数,变量…

•系统:系统表,系统控制设置…

  • 缓存:

•语句缓存,编译器性能

•系统缓存,元数据性能。

•结果缓存,查询性能。