SQL查询优化器浅析 | 青训营笔记

65 阅读1分钟

这是我参与「第四届青训营 」笔记创作活动的第1天

  1. 大数据体系和SQL image.png
  • 大数据体系中的SQL

image.png

  • SQL的处理流程 SQL的处理流程 - Parse

String -> AST 词法分析:拆分字符串,得到关键词、数值常量、字符串常量、运算符号等token 语法分析:将token组成AST node,最终得到一个AST

SQL的处理流程 - Analyzer和Logical Plan

Analyzer 检查并绑定Database,Table,Column等元信息 SQL的合法性检查,比如min/max/avg的输入是数值 AST -> Logical Plan

Logical Plan 逻辑地描述SQL对应的分步骤计算操作 计算操作:算子 image.png 小结

image.png

2. 常见的查询优化器

  • Top-down Optimizer
  • Bottom-up Optimizer

image.png

  • ROB(Rule-based Optimizer)

image.png

  • CBO(Cost-based Optimizer)

image.png

image.png

3. 查询优化器的社区开源实践

image.png

image.png

4. SQL相关的前沿趋势

  • 存储计算分离
  • HSAP, HTAP, HTSAP
  • Cloud Native, Serverless
  • 数据仓库,数据湖,湖仓一体,联邦查询
  • 智能化:AI4DB,DB4AI image.png

image.png