GaussDB 数据库架构师修炼(十八) SQL执行引擎-概述

1 执行引擎演进

  • 传统数据库

执行引擎一般负责查询的执行 。

执行引擎在SQL执行栈中接受优化器 生成的执行计划Plan , 并通过存储引擎提供的数据读写接口, 实现对数据进行计算得到查询结果集。

  • 分布式数据库

执行引擎范围还应包括节点间网络数据交换和传输部分。

2 执行引擎功能

  • 位于SQL引擎和存储引擎之间,负责将数据从存储引擎读取出来,根据执行计划将数据处理加工返回给客户端。
  • 迭代器模式,控制流向下 ,数据流向上 ,上层算子驱动下层算子获取数据。

3 执行引擎处理流程

  • 初始化:迭代遍历整个PlanTree,对每个算子进行初始化操作。包括初始化 状态节点、初始化元组表、初始化子节 点、初始化元组类型和投影信息等。

  • 执行:当前算子依据算子类型处理下 层算子返回值, 处理后返回给上层算子。

  • 结束:迭代遍历整个PlanTree,清理 对应算子内的资源。

相关推荐
这个DBA有点耶1 小时前
库内计算推理:一条SQL背后的算子融合,和外挂方案差了几次网络往返
数据库·人工智能·sql
Decay__10 小时前
01_SQLServer 体系架构全解 —— 实例进程、关系引擎、SQLOS 与事务日志深入
运维·数据库·sql·mysql·架构
瑞雪兆丰年兮11 小时前
JavaWeb-day07-MySQL(DQL&多表设计)
java·开发语言·数据库·sql·mysql·javaweb·web
freejackman1 天前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构
码途行者1 天前
网站的SQL 注入:从攻击原理到防御措施
开发语言·sql·php
Decay__1 天前
SQL Server 数据库全栈运维实战系列 — 合集索引(24 篇)
运维·数据库·sql·mysql·架构
Thanks_ks1 天前
SQL 的 GROUP BY 与聚合函数:从会写 SELECT 到会做统计
数据库·sql·mysql·group by·数据统计·聚合函数·having
Decay__2 天前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
Decay__2 天前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构