MySQL的结构

首先从结构入手,然后以查询和更新操作具体分析执行过程

MySQL的结构

MySQL的结构分两层:

Sever层和存储引擎。本文针对InnoDB引擎来分析。

Sever层

连接器

连接器的作用就是检测登陆。

检查账号密码,然后检查该用户的权限。作为此后该用户所有操作的权限依据。

注意:在修改某用户权限之后,需要重新连接才能生效。如不断开连接,权限依然是旧的。

查询缓存

在MySQL8.0以后移除。

跟cpu缓存类似,执行语句时,首先到缓存中查找,如果找到了,就在缓存中操作,同步更新到数据库。数据库的修改在缓存中也会一起更新,保证一致。

为什么不用呢,因为在实际应用中,MySQL缓存失效非常频繁。后来就不再使用了。

分析器

分析器有两步操作,来检查语句是否合理,以及语句是干什么的。

  1. 词法检查。这一步会检查语句中的关键字,包括表名、列名、select、查询条件等。
  2. 语法检查。检查语句是否符合语法规定。

优化器

优化器是让MySQL以他认为的最优方式去执行。比如多个索引的时候该如何选择索引,多表查询的时候如何选择关联顺序等。

经过优化器之后,一条SQL语句具体应该如何执行,就已经确定了。

执行器

第一步:校验用户权限,即利用到了连接器查询出的用户权限。

没有的话会返回错误信息,如果权限允许,则调用引擎的接口,返回接口执行的结果。

早睡早起,注意身体。早起之王祝你风生水起!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值