您现在的位置是:首页 > 技术博客 > mysql的执行流程

mysql的执行流程

2021-08-06文远技术博客670426

mysql的执行流程大致分为三部分

第一部分:连接层

主要负责:

                1、用户账号密码校验

                2、用户权限验证

                3、线程分配

                4、返回线程ID

第二部分:SQL层

主要负责:

                 1、判断SQL类型

                     SQL类型有query(select)、dml(update、insert、delete)、ddl(alter)、status(show status)等等

               2、如果是query类型

                     8.0之前,如果有缓存直接返回,反正继续向下执行

                     8.0之后,直接向下继续执行

               3、SQL解析器

                     把SQL语句拆分成一个一个的token,再把token按照规则组合成解析树(二叉树)

               4、优化器

                     通过解析树获取表的结构信息,根据解析数进行条件过滤,根据索引来确定执行计划

第三部分:储存引擎

               优化器通过API接口查询信息,返回给客户端

图例如下:

mysql的执行流程

文章评论

看完文章了吗?谁便说点吧

发表 captcha

暂无评论