一次SQL的完整处理流程

流程: 1. 客户端到连接器是通过TCP/IP SSL通信协议连接的, 2.连接器验证MySQL权限信息是否正常,连接量是否正常,长时间没有连接服务器会自动断开等等 ; 3. 然后到解析器,通过客户端发过来的sql进行语法解析,验证sql是否合法; 4.然后到优化器,生成执行计划选择索引; 5.再到执行器调用存储引擎提供的API接口 进行数据读写操作; 6.然后存储引擎花费磁盘IO进行数据读写,B+树索引构建、事务日志等 ; 7.磁盘上存着数据:表结构、表数据和表索引。 8.最后执行器,如果是查询操作,将结果在查询缓存中缓存一份返回给客户端。

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

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

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

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

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

经验分享 程序员 微信小程序 职场和发展