一次SQL的完整处理流程

文章详细阐述了MySQL数据库处理SQL请求的过程,从客户端通过TCP/IPSSL协议连接到连接器,经过权限验证和连接管理,到解析器对SQL进行语法解析,优化器生成执行计划并选择索引,执行器调用存储引擎执行数据读写,并利用B+树索引和事务日志管理数据,最后查询结果可能被缓存供后续使用。
摘要由CSDN通过智能技术生成

 

流程:

1. 客户端到连接器是通过TCP/IP SSL通信协议连接的,

2.连接器验证MySQL权限信息是否正常,连接量是否正常,长时间没有连接服务器会自动断开等等 ;

3. 然后到解析器,通过客户端发过来的sql进行语法解析,验证sql是否合法;

4.然后到优化器,生成执行计划选择索引;

5.再到执行器调用存储引擎提供的API接口 进行数据读写操作;

6.然后存储引擎花费磁盘IO进行数据读写,B+树索引构建、事务日志等 ;

7.磁盘上存着数据:表结构、表数据和表索引。

8.最后执行器,如果是查询操作,将结果在查询缓存中缓存一份返回给客户端。

连接器:管理连接,权限验证

解析器:词法分析 语法分析

优化器:生成执行计划 选择索引

执行器:调用存储引擎提供的API接口 进行数据读写操作, 执行SQL,返回结果

存储引擎:存储数据,提供读写接口  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值