Mysql 执行流程,binlog,undo log ,redo log

1、执行流程

 mysql主要分为Server层和存储引擎层

  1. Server层:主要包括连接器,查询缓存,分析器,优化器,执行器,所有垮存储引擎的功能都在这一层实现,比如存储工程,触发器,视图,函数等,还有一个通用的binlog日志模块
  2. 存储引擎:主要负责数据的存储和读取,
  3. 连接器:负责用户登录数据,进行用户的身份认证,包括校验账号密码,权限等;只要密码验证通过,连接器会到权限表中查询该用户的所有的权限,只要这个连接不断开,及时管理员在这期间对这用户进行了权限更改,但这个连接维护的还是更改之前的权限
  4. 查询缓存:连接建立后,执行查询语句的时候,会先查询缓存,mysql会校验这个sql是否执行过,以key-value的形式缓存在内存中,如果命中直接返回,如果没有命中,执行后续的操作,完成之后会把对应的结果缓存起来
  5. 分析器:mysql 没有命中缓存,那么就会进入分析器,分析器主要是用来分析SQL语句是来干嘛的,分析器也会分为几步:

    第一步,词法分析,一条SQL语句有多个字符串组成,首先要提取关键字,比如select,提出查询的表,提出字

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值