MySQL之select语句的执行过程

本文详细解析了MySQL中select语句的执行过程,包括存储引擎、server层的连接器、查询缓存、分析器、优化器和执行器的工作原理。讨论了连接管理(如长连接与短连接)、查询缓存的利弊,以及MySQL异常重启的原因和解决方案。此外,还阐述了分析器的词法分析和语法分析,优化器在选择执行计划中的角色,以及执行器如何与存储引擎交互完成查询操作。
摘要由CSDN通过智能技术生成

select语句的执行过程

select * from T where ID = 10

MySQL的基本架构:

MySQL可以分为以下两个部分

  • server层

  • 存储引擎

存储引擎

存储引擎负责数据的存储和提取。其架构模式时插件式的,支持InnoDB、MyISAM、Memory等多个存储引擎。现在最常使用的存储引擎是InnoDB,它从MySQL5.5.5版本开始成为了默认的存储引擎。

也就是说,执行create table 建表时,若不指定引擎类型,默认使用的是InnoDB。也可以在create table 语句中使用engine=memory来指定使用内存引擎创建表。不同的存储引擎的表数据存取方式不同,支持的功能也不同。

不同的存储引擎公用一个server层,也就是从连接器到执行器的部分。

server层

server层中包括了以下几个模块

  • 连接器

  • 查询缓存

  • 分析器

  • 优化器

  • 执行器

    server层还包含了MySQL大多数核心服务功能,以及所有的内置函数(日期、时间、数学和加密函数等),所有的跨存储引擎的功能都在这里实现,比如存储过程、触发器和视图等。

连接器
功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值