千家信息网

Mysql执行计划原理是怎样的呢

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关Mysql执行计划原理是怎样的呢,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Mysql性能优化,从一名高级码农的角度,我
千家信息网最后更新 2026年11月02日Mysql执行计划原理是怎样的呢

这篇文章将为大家详细讲解有关Mysql执行计划原理是怎样的呢,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Mysql性能优化,从一名高级码农的角度,我们不能像java语言一样,通过debug来调试我们的业务SQL,那么我们怎么去验证优化之后的SQL语义呢,那么就是执行计划。

执行计划所包含的角色:

  • ORM框架

  • 连接池

  • Mysql Server

  • 存储引擎

那么负责生成执行计划的组件是什么?

回答:专门负责优化SELECT语句的优化器模块MySQL Query Optimizer通过计算分析收集的各种系统统计信息,为Query给出最优的执行计划--最优的数据检索方式。

MySQL Query Optimizer位于Mysql Server端,是Mysql自有的,与存储引擎无关。

当MySQL Query Optimizer接收到Query Parser(解析器)传递过来的Query时,会根据MySQL Query语句的相应语法对该Query进行分解分析,同时还会做很多其他的计算转化工作,如常量转化,无效内容删除,常量计算等。

MySQL Query Tree以Tree类型的数据结构存放数据处理的流程,指明了完成Query必须要经过的步骤,每一步的数据来源在哪里,处理方式是怎样的。MySQL使用了LEX和YACC语法(词法)分析工具生成MySQL Query Tree。

客户端向MySQL发送Query请求,命令解析器模块完成请求分类,把SELECT Query转发给MySQL Query Optimizer,MySQL Query Optimizer首先会对整条Query进行优化,进行常量表达式的预算,直接换算成常量值。并对Query中的查询条件进行简化和转换,如去掉一些无用或显而易见的条件、结构调整等。然后分析Query中的Hint信息(如果有),看Hint信息是否可以完全确定该Query的执行计划。如果没有Hint或Hint信息还不足以完全确定执行计划,则会读取所涉及对象的统计信息,根据Query进行相应的计算分析,最后得出执行计划。

比较笼统的总结,Mysql会将整个客户端传过来的SQL语句,生成一颗指令树( MySQL Query Tree),然后通过存储引擎执行这颗指令树,最终的执行计划会包含了重构查询语句的全部信息,也就是Mysql的多表查询会从一个表开始一直嵌套循环、回溯完成所有表关联,本质上会是一颗左侧深度优先树。

关于Mysql执行计划原理是怎样的呢就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

信息 分析 数据 语句 内容 引擎 存储 查询 生成 原理 客户 客户端 常量 指令 文章 方式 更多 条件 模块 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州紫鲸互联网科技有限公司 为想互联网科技怎么样 上海挚品互联网科技 南京欣网互联网科技 苏州互联网科技贷款公司 时间互联网络科技 哈尔滨秒房互联网科技有限公司 中国最先进互联网科技公司 互联网实体化科技化 互联网和黑科技的看法 上海宁丞科技互联网 互联网科技的全部知识 皮皮虾互联网科技有限公司 互联网金融运营模式中的金融科技 北京天晋互联网科技有限公司 米泉互联网科技专业怎么样 广州三三互联网科技有限公司 广西泛欧互联网科技有限公司 东风日产互联网科技公司叫什么 现代科技的标志之一的互联网 保险科技 互联网保险 深圳齐家互联网科技 佰商互联网科技有限公司 互联网科技素材视频竖屏 互联网汽车科技小镇 互联网科技中介 中国互联网十大科技股排名 山东大美朱楼互联网科技有限公司 云南互联网科技学费 深圳互联网科技园地址
0