图解MySql体系架构

图解MySql体系架构


关于InnoDB书籍接近尾声,这是才慢慢发现并没有把体系架构弄明白,以及之前的文章中多次提到的Sever没弄得太明白是怎么回事。


前言

仅作为笔记


一、总体架构

在这里插入图片描述

  • 由上图可以看到,整个MySql可以分为上下两个部分,Server层和存储引擎层(默认使用得是InnoDB)。
  • Server层的主要作用:Server层包含了MySql的大多数核心的服务功能,以及所有的内置函数,这一层也是实现跨存储引擎的功能层,不同的存储引擎可以公用一个Server层
  • 存储引擎层的作用负责数据的存储和提取,其架构模式是插件时的(即插即用),支持InnoDB,MyISAM等,现在的MySql默认支持的是InnoDB。

二、Server详细分析

2.1 连接器

根据上图可以看到,连接器以客户端为输入端,输出端有分析器查询缓存,连接器负责跟客户端建立连接(使用的是TCP)、验证身份、获取权限、维持和管理连接,在交互式页面使用如下命令可以连接:

mysql -h -p -u -p

注意:连接后如果不进行任何操作,这个连接会处于空闲状态,默认空闲状态8h自动退出,由 wait_timeout 控制的

2.2 查询缓存

连接器的输出端之一,在连接操作之后进行,在进行查询请求前会先到查询缓存看看,之前是不是执行过这条语句,执行过的语句及其结果可能会以 key-value 的形式被缓存在内存中, key 是查询的语句,value 是查询的结果,如果能够在缓存中找到key,则直接返回结果给客户端
注意:查询缓存以来的是缓存,而只要表有更新那么内存上的缓存页一定会更行,那么会导致依赖缓存的查询名字率降低,很影响系统性能。所以这个只适合在只使用查询功能的情况。

2.3 分析器

发生在没有命中到查询缓存之后。对 SQL 进行 “词法分析”和 “语法分析”,根据 “词法分析” 的结果,分析器会根据语法规则判断输入的 SQL 是否满足 MySQL 语法。如果存在语法错误,就会收到 ERROR 的提示信息,总之是一个检查SQL语句本身有没有语法错误的地方。

2.4 优化器

既然SQL语句本身没有错误,那么意味着可执行,优化器的功能就是在可执行的条件下找最好的执行方法(最快),比如表中有多个索引的时候,决定使用哪个索引,或者在一个语句中有多表关联时,决定各个表的执行顺序。总之优化器是给一句SQL语句选择最优执行方法的。

2.5 执行器

万事俱备只欠东风,最优方法也找好了那就是执行了。
执行器执行顺序:
1)调用存储引擎接口当前表的第一行,判断是否符合 SQL 中的条件判断,如果不是则跳过,如果是则加入到结果集中
2)再取下一行,重复步骤1)中的判断逻辑,直到遍历完整个表
3)执行器将上述遍历过程中查找符合条件的结果集返回给客户端

二 、存储引擎

也就是前几章的内容,常用的有InnoDB、MyISAM,这两个挺重要的。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL体系架构图一般可以分为以下几层:MySQL Server层、存储引擎层和文件系统层。MySQL Server层又包括连接层和SQL层。网络连接层负责与客户端建立连接和处理网络通信;服务层负责解析SQL语句、进行查询优化和执行查询等操作;存储引擎层负责数据的存储和检索,不同的存储引擎可以提供不同的功能和性能优化;系统文件层负责管理数据库文件的物理存储和读写操作。总体而言,MySQL体系架构是一个多层次的架构,每一层都有不同的功能和责任。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MySQL体系架构图](https://blog.csdn.net/m0_72607586/article/details/128974505)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [超详细图解!【MySQL进阶篇】MySQL架构原理](https://blog.csdn.net/wj1314250/article/details/118462403)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值