MySQL查询流程

1.先上图

如上图所示,MySQL分成server层和引擎层两层。

server层:连接器、分析器、优化器、执行器等,主要是对客户端的指令进行分析,优化,提取等操作

引擎层:主要是对数据进行存储和提取,目前的存储引擎包括:InnoDB、MyISAM、Memory等,其中InnoDB是目前常用的存储引擎,也是mysql的默认引擎

2.职责

连接器:主要是负责和客户端进行连接,长短连接,登录权限校验

查询缓存:判断之前是否执行过该语句,如果执行过了,则可以直接从缓存中获取返回即可,缓存存储方式为key-value,因此效率非常高

分析器:功能如其名,分析语句是否合法,查询数据字段是否有误等

优化器:对客户端请求的语句进行优化,根据优化后的语句进行判断是否走索引等操作

执行器:执行sql语句,从引擎层获取数据

引擎层:获取数据进行返回

3.执行流程

  • 连接上mysql,校验账号密码,获取权限
  • 查询缓存是否有数据,(8.0版本废弃,不建议使用,更新时会失效)
  • 使用分析器分析语句
  • 使用优化器优化语句以及决定是否有索引等
  • 使用执行器执行语句
  • 执行器调用引擎接口获取数据

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值