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

1 执行引擎演进

  • 传统数据库

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

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

  • 分布式数据库

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

2 执行引擎功能

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

3 执行引擎处理流程

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

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

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

相关推荐
鸿乃江边鸟4 天前
向量化和列式存储
大数据·sql·向量化
懒虫虫~4 天前
通过内存去重替换SQL中distinct,优化SQL查询效率
java·sql·慢sql治理
逛逛GitHub4 天前
1 个神级智能问数工具,刚开源就 1500 Star 了。
sql·github
Huhbbjs4 天前
SQL 核心概念与实践总结
开发语言·数据库·sql
咋吃都不胖lyh4 天前
SQL-字符串函数、数值函数、日期函数
sql
sensenlin914 天前
Mybatis中SQL全大写或全小写影响执行性能吗
数据库·sql·mybatis
xqlily5 天前
SQL 数据库简介
数据库·sql
森林-5 天前
MyBatis 从入门到精通(第三篇)—— 动态 SQL、关联查询与查询缓存
sql·缓存·mybatis
小虾米vivian5 天前
达梦:将sql通过shell脚本的方式放在后台执行
服务器·数据库·sql