美文网首页
简单了解MySQL的执行流程到底是怎么样的

简单了解MySQL的执行流程到底是怎么样的

作者: 时间煮菜 | 来源:发表于2020-04-13 09:11 被阅读0次

    用图文简单记录执行SQL的时候流程,便于自己理解。

    image

    连接器

    第⼀步,你会先连接到这个数据库上,这时候接待你的就是连接器。连接器负责跟客户端建立连接、获取权限、维持和管理连接。

    查询缓存

    • 连接建立完成后,你就可以执行select语句了。执行逻辑就会来到第⼆步:查询缓存。
    • 建议不要用查询缓存,查询缓存的失效非常频繁,只要有对⼀个表的更新,这个表上所有的查询缓存都会被清空。

    分析器

    • 如果没有命中查询缓存,就要开始真正执行语句了。
    • 分析器先会做“词法分析”。你输入的是由多个字符串和空格组成的⼀条SQL语句,MySQL需要识别出里面的字符串分别是什么,代表什么。

    优化器

    • 经过了分析器,MySQL就知道你要做什么了。在开始执行之前,还要先经过优化器的处理

    • 优化器是在表里面有多个索引的时候,决定使用哪个索引

    • 或者在⼀个语句有多表关联(join)的时候,决定各个表的连接顺序。比如你执行下面这样的语句,这个语句是执行两个表的join:

      mysql> select * from t1 join t2 using(ID) where t1.c=10 and t2.d=20;
      
    • 这两种执行方法的逻辑结果是⼀样的,但是执行的效率会有不同,而优化器的作用就是决定选择使用哪⼀个方案。

    执行器

    MySQL通过分析器知道了你要做什么,通过优化器知道了该怎么做,于是就进入了执行器阶段,开始执行语句

    相关文章

      网友评论

          本文标题:简单了解MySQL的执行流程到底是怎么样的

          本文链接:https://www.haomeiwen.com/subject/stvgphtx.html