MySQL SQL语句查询执行过程的四个阶段介绍

1.语法分析阶段:将SQL查询语句经词法和语法分析后变换为一颗查询树st_select_lex传给优化器,并对SQL表达的语义进行检查。

2.生成逻辑查询执行计划阶段:优化器在查询树中遍历每个关系,确定关系是否是常量表,为每个关系查找可用的索引,运用关系
代数原理和启发式规则进行逻辑上的查询优化(如消除子查询,消除外连接等)。

3.生成物理查询执行计划阶段:优化器对每个连接的表进行排序,然后再求解多表连接最优路径,对于每个关系尽量利用索引计算其
代价,找出代价最小的路径后保存到JOIN类的best_positions。

4.执行查询执行计划阶段:把查询执行计划传到执行器进行执行。
请使用浏览器的分享功能分享到微信等