mysql学习笔记一:mysql执行流程

mysql分为 Server 层和存储引擎层两部分

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

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


image.png

连接器

负责客户端的连接,连接后会查询权限表获取权限信息

1.长连接:连接成功后,如果客户端持续有请求,则一直使用同一个连接(尽量使用)

2.短连接:指每次执行完很少的几次查询就断开连接,下次查询再重新建立一个

查询缓存

通过 key-value 的形式缓存查询结果,每次查询先判断缓存是否存在,有则直接发送给客户端

建议你不要使用查询缓存:表的更新,这个表上所有的查询缓存都会被清空

分析器

解析sql语句,判断是否满足 MySQL 语法

优化器

优化器是在表里面有多个索引的时候,决定使用哪个索引;或者在一个语句有多表关联(join)的时候,决定各个表的连接顺序。优化器阶段完成后,这个语句的执行方案就确定下来了,然后进入执行器阶段。

执行器

打开表执根据表的引擎定义,去使用这个引擎提供的接口

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容