你知道Mysql的架构吗?

发布时间:2024年01月23日

在这里插入图片描述

msyql分为server曾和存储引擎层

server层包括了连接器(管理连接,权限验证)、查询缓存(命中直接返回结果)、分析器(词法分析,语法分析)、优化器(执行计划生成,索引选择)、执行器(操作引擎,返回结果)等,涵盖了Mysql大多数核心功能,以及所有的内置函数(日期、时间、数学和加密函数),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等

存储引擎层负责数据的存储和提取。架构模式是插件式的,支持innoDB、MyISAM、Memory等多个存储引擎。

比如一个语句是

select * from T where id=10;

首先,我们需要建立连接,这个时候是经历连接器,管理连接,权限认证;

第二步是:查询缓存,如果命中直接返回,mysql 8.0取消了此模块(生效频繁)

第三步是: 分析器,进行词法分析和语法分析,识别sql语句中的字符串代表的是什么,然后判断是否符合msyql的语法;

第三步是: 优化器,在表中有多个索引的时候,决定使用哪个索引;或者是在一个语句进行多表(Join)的时候,决定各个表的连接顺序;

第四步是: 执行器,判断有没有对表的执行查询的权限,有权限的话会从第一行寻找ID=10的数据,一直找到;

文章来源:https://blog.csdn.net/weixin_46380571/article/details/135791023
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。