暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB A SQL执行过程

原创 章芋文 2019-10-01
453

首先我们需要了解一个语句在数据库中从输入到输出的过程:

Sql query ——> parser(分析器)——> rewirte(查询重写)——> Optimize(优化器)——> executor(执行器)——> query results

l  parser(分析器):查询分析器接收到语法分析树后,将其转换为以数据结构query表示的树形结构。

l  rewirte(查询重写):依据数据库的规则系统,重写query结构,如将试图替换为该试图所代表的查询。

l  Optimize(优化器):分为逻辑优化阶段和物理优化阶段,其中:

逻辑优化阶段:该阶段利用代数变换规则等价变换query:消除子查询,处理表达式,消除having子句,消除外连接,条件的上推下压等一系列等价变化,以获取最优的逻辑执行计划。

物理优化阶段:该阶段考虑表的连接顺序、where条件的约束、计算各表的统计信息。在为逻辑执行计划的每个结点生成所有可能的执行路径时,通过代价估计的方法,计算各种可能路径的执行代价,并从中选择代价最小的作为当前结点的执行路径。

l  executor(执行器):形成执行计划,将得到的代价最小的物理执行路径等价的转换为物理执行计划并执行。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论