暂无图片
MySQL在查询处理的哪个阶段创建查询的执行计划??
我来答
分享
zhangyfr
2022-11-26
MySQL在查询处理的哪个阶段创建查询的执行计划??

MySQL在查询处理的哪个阶段创建查询的执行计划??

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
yBmZlQzJ

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

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

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

4.执行查询执行计划阶段:把查询执行计划传到执行器进行执行。

暂无图片 评论
暂无图片 有用 2
暂无图片
yBmZlQzJ
答主
2022-11-26
刘贵宾
2022-11-26
ora_221
2022-11-27
李宏达

暂无图片 评论
暂无图片 有用 1
李宏达
答主
2022-11-26
szrsu
暂无图片

暂无图片 评论
暂无图片 有用 0
小七

路过,学习

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏