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接口查询信息,返回给客户端
图例如下:
相关文章
文章评论
看完文章了吗?谁便说点吧
发表
暂无评论