mysql读取流程速看

mysql查询原理

在这里插入图片描述

1、建立连接

首先我们程序员通过连接驱动和连接池建立连接

注意

客户端和服务端发送消息都是完整的,只有完整的消息才会得到响应;

我们可以设置参数控制sql数据包发送的容量

在这里插入图片描述

2、查询缓存

查询缓存是Map结构,key是sql语句,value是查询结果

如果查询过结果会直接返回给客户端

注意

8.0版本删除了查询缓存

原因

  • 每次请求都会查询缓存,有性能消耗,如果命中率低,效率更差
  • 没有命中查询,在查询后新建缓存,对性能也是不小的消耗;
  • 为了保证数据一直,会添加表级锁,影响性能;

3、sql解析

进行关键字,非关键字标记,语法解析,验证;

4、预处理器

请求拆分,提交sql模板语句,再不断提交参数,也会进行参数验证;

5、sql优化

根据数据表,数据量,索引等计算io成本消耗和cpu消耗,进行sql优化处理;

优化通过优化规则

6、执行器

组合调用Handler API接口,拿到返回结果;

7、返回结果

将结果返回客户端;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值