手把手教学大数据-MySQL架构分析

本文详细剖析了MySQL的逻辑架构,包括连接器、系统管理和控制工具、SQL接口、解析器、查询优化器、查询缓存及存储引擎等模块。同时,介绍了简单和详细执行流程,以及物理结构中的日志文件和数据文件。通过对MySQL的深入理解,有助于提升数据库管理和优化能力。
摘要由CSDN通过智能技术生成

目录

逻辑架构

逻辑架构图

连接器

系统管理和控制工具

连接池

SQL接口

解析器

查询优化器

查询缓存

存储引擎

简单执行流程

详细执行流程

物理结构

日志文件

错误日志(errorlog)

二进制日志(binlog)

通用查询日志(general query log)

慢查询日志(slow query log)

重做日志(redo log)

回滚日志(undo log)

中继日志(relay log)

数据文件

总结

对于MySQL而言,咱们学完了它的基础知识以及使用,但对它的原理了解的并不多,咱们学知识只看表面绝对是不行的,所以小刘今天给大家分享MySQL的架构知识,争取给大家讲明白!

逻辑架构

逻辑架构分为三个:逻辑架构图、简单执行流程、详细执行流程。

逻辑架构图

从上往下从左到右依次介绍每个模块:连接器、系统管理和控制工具、连接池、SQL接口、解析器、查询优化器、查询缓存、存储引擎。

连接器

连接器(Connectors),它这里和不同的语言中的SQL进行交互。

系统管理和控制工具

它主要是备份集群和集群管理等。

连接池

它主要用来管理连接,进行权限验证之类的。

SQL接口

它主要是接收到SQL命令(比如DDL、DML)后,返回查询的结果,也就是查询结果在这里显示。

但是接收到SQL命令后,我们需要把它变为有意义的SQL,要被系统识别出来你这个SQL要干什么,就需要对SQL语句进行解析,所以就需要解析器。

解析器

解析分为词法解析和语法解析,举例说明词法解析和语法解析。

SQL命令传到解析器后会被解析器验证和解析,先进行词法分析,分词形成select、*、from、t1,解析完成之后形成一颗语法树,在进行语法分析,分析SQL语句对不对,如果不对,说明这个SQL语句不合理。

查询优化器

SQL语句在真正执行之前,MySQL会认为你的语句不是最优的,它会对它进行优化。

怎么优化呢?

就利用查询优化器,在解析器中语法正确的SQL会传到这,其中使用explain查看的SQL语句执行计划,就是查询优化器生成的!

例如:select * from tuser where name like 'a%' and id = 1;
这句话就会进行优化,至于为什么会优化,后面会讲到,先知道就行,会变为这样的语句。
     select * from tuser where name id = 1 and like 'a%';

查询缓存

MySQL会把查询的结果存起来,但它针对的不是SQL语句,而是SQL语句经过哈希后的值。如果下次有相同查询结果,就不会到Pluggable Shortage Engines储存引擎,直接在缓存中把查询结果拿出来。(现在作用不大,在新的MySQL被去掉了,不用了)

存储引擎

可插拔的存储引擎,也就是MySQL数据库提供了多种存储引擎。它就是用来存储数据的,如何为

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值