【MySQL实战01】 一条SQL查询语句是如何执行的

MySQL 可以分为 Server 层、存储引擎层两部分。

Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。

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

      MySQL的执行流程:
【MySQL实战01】 一条SQL查询语句是如何执行的_第1张图片      

1、查询缓存

一般不建议使用,query_cache_type 设置成 DEMAND,MySQL 8.0 开始直接去掉了该功能。

2、分析器

分析关键字,判断 SQL 语句是否满足 MySQL 语法,判断表、列、字段是否存在。

3、优化器

选择索引、连表顺序、选择执行方案、优化执行效率。

4、执行器

校验权限 => 打开表 => 调用引擎接口 => 返回结果给客户端。

你可能感兴趣的:(MySQL,MySQL实战笔记,mysql,数据库)