📚 【源码解析】StarRocks 查询优化系列文章

david-iskander-iWTamkU5kiI-unsplash

对 StarRocks 查询优化相关工作感兴趣的小伙伴,这里开个合集让大家能系统性的了解它的个中原理。

首先,我们先来了解 StarRocks 如何完成一条查询 SQL 的处理:
一条查询SQL的StarRocks之旅

从 SQL 文本到分布式物理执行计划, 在 StarRocks 中,需要经过以下 5 个步骤:

  1. SQL Parse: 将 SQL 文本转换成一个 AST(抽象语法树)
  2. SQL Analyze:基于 AST 进行语法和语义分析
  3. SQL Logical Plan: 将 AST 转换成逻辑计划
  4. SQL Optimize:基于关系代数、统计信息、Cost 模型,对逻辑计划进行重写、转换,选择出 Cost “最低” 的物理执行计划
  5. 生成 Plan Fragment:将 Optimizer 选择的物理执行计划转换为 BE 可以直接执行的 Plan Fragment

那么我们就照着这个顺序继续读下去 :point_down:t2:

:books: 查询优化源码解析:

  1. StarRocks Parser 源码解析
  2. StarRocks Analyzer 源码解析
  3. StarRocks 优化器代码导读
  4. StarRocks Join Reorder 源码解析
  5. StarRocks 统计信息和 Cost 估算
  6. StarRocks 如何添加一个优化规则
  7. StarRocks 如何添加一个 Operator?
  8. StarRocks 查询调度源码解析
  9. StarRocks Scan 算子源码解析
  10. StarRocks 聚合算子源码解析
  11. StarRocks Hash Join 源码解析
  12. StarRocks Sort 算子源码解析
  13. StarRocks Exchange 算子源码解析
  14. StarRocks 窗口算子源码解析
  15. StarRocks Set 算子源码解析
  16. StarRocks Runtime Filter 源码解析
  17. StarRocks 如何新增一个数据类型
  18. StarRocks 如何新增标量函数与聚合函数
  19. .:new:`JDBC 外部表查询源码解析
    本系列后续会持续更新,希望在阅读之后大家能有所启发! :heart:
    :star: 欢迎加入 StarRocks 社区成为大数据的明日之星! :point_right:t2: StarRocks 社区架构出炉,等你通关升级!(内含领奖方式)
10赞