当前位置: 首页 > news >正文

GaussDB GaussDB 数据库架构师修炼(十八)SQL引擎(1)-SQL执行流程

1 SQL执行流程

  •  查询解析:词法分析、语法分析、 语义分析
  •  查询重写:视图和规则展开、基于规则的查询优化
  •  计划生成:路径搜索和枚举、选出最优执行计划
  •  查询执行:基于优化器生成的物理执行计划对数据进行获取和计算

2 解析器和优化器

 SQL是一种声明式语言,只需要指定想要达到的目的,即What,而不需要指定怎样达到这个目的,即How 。
解析器:处理"What"的定义, 根据语法规则元数据将SQL语句编译成为一个由关系算子组成的逻辑执行计划。
优化器:处理"How",即"What"的解法,通过基于关系代数的等价变换、物理计划的枚举和基于统计信息的代价评估来选择最优的物理执行计划。

3 执行器

1)迭代器模式(火山模型)
执行以算子迭代的方式驱动执行
可将算子抽象为init() ,get_next (), end()三种类型操作。
上层算子通过嵌套调用下层算子的get_next ()处理返回数据。
初始化和结束操作也通   过init()和end()嵌套调用。

初始化:迭代遍历整个PlanTree,对每个算子进行初始化操作。
执行:当前算子处理下层算子返回值,处理后返回给上层算子。
结束:迭代遍历整个PlanTree,清理对 应算子内的资源。

4 批注

掌握GaussDBSQL引擎的工作及原理

http://www.xdnf.cn/news/1348525.html

相关文章:

  • week3-[二维数组]小方块
  • ArrayList线程不安全问题及解决方案详解
  • 硬件驱动---linux内核驱动 启动
  • 云原生俱乐部-k8s知识点归纳(7)
  • RCE的CTF题目环境和做题复现第4集
  • Unreal Engine UActorComponent
  • base64认识实际使用
  • #Datawhale 组队学习#8月-工作流自动化n8n入门-2
  • LLM实践系列:利用LLM重构数据科学流程01
  • 简单聊聊多模态大语言模型MLLM
  • LeetCode100 -- Day4
  • RCE的CTF题目环境和做题复现第3集
  • RoboTwin--CVPR2025--港大--2025.4.17--开源
  • 大模型微调训练资源占用查询:Windows 10 查看 NVIDIA 显卡GPU状态教程(替代 Ubuntu 下 watch nvidia-smi)
  • Python精确小数计算完全指南:从基础到金融工程实践
  • 二、高可用架构(Nginx + Keepalived + MySQL 主从)
  • StarRocks启动失败——修复全流程
  • AI生成技术报告:GaussDB与openGauss的HTAP功能全面对比
  • 【COMSOL】Comsol学习案例时的心得记录分享(三)
  • 期货Level2五档订单簿0.25秒级高频分时及日频历史行情数据使用指南
  • 刷题日记0822
  • 实现自己的AI视频监控系统-第一章-视频拉流与解码4(重点)
  • uboot添加ping命令的响应处理
  • 音视频处理工作室:实时通信的媒体层设计
  • Paddle3D-PETRv1 精度测试与推理实践指南
  • 容器安全实践(一):概念篇 - 从“想当然”到“真相”
  • 车载诊断架构 --- EOL引起关于DTC检测开始条件的思考
  • Mongodb操作指南
  • 大麦盒子DM4036-精简固件包及教程
  • 2025.8.22周五 在职老D渗透日记day24:burp+mumu抓包 安卓7.0以上证书配置