MySQL体系架构的示例分析
创始人
2024-12-27 22:42:42
0次

MySQL 体系架构

MySQL 体系架构主要分为两部分:客户端和服务端

MySQL体系架构的示例分析

客户端

客户端连接器主要负责一些客户端的连接,针对不同的编程语言驱动提供连接服务。

服务端

服务层包括:系统管理和控制工具,连接池,SQL接口,解析器,查询优化器,缓存。

  • 连接池
    负责管理客户端与服务层数据处理的连接,以及对用户执行操作权限的校验。

  • 系统管理和控制工具
    负责备份安全,安全管理,集群管理服务和工具等。

  • SQL接口
    接收客户端 sql命令 ,返回用户需要的结果。如:dml,ddl,存储过程,视图,触发器等命令。

  • 解析器
    词语(关键字)分析,语法分析,接收sql 将其解析,生成解析树,并且语法校验检查。

  • 查询优化器:对生成解析树后并且通过解析器语法后,由优化器选择合适的索引,然后生成执行计划,然后与执行引擎交互。

  • 缓存
    缓存机制是由一系列缓存组合起来的。
    如:表缓存,记录缓存(sql查询结果缓存起来,等下一次相同sql查询,从缓存中返回),
    权限缓存,引擎缓存等。如果缓存命中,会直接从缓存中获取数据。

  • 存储引擎层
    负责Mysql 数据的读取和存取,如 InnoDB,MyISAM等。 可插拔式的,可以更换不同的存储引擎。

  • 系统文件层
    如日志,数据文件等。

一条SQL的执行流程

MySQL体系架构的示例分析

  • 首先客户端进行连接;

  • 其次在server层的连接管理器中验证用户权限等操作;

  • 然后如果是非8.0版本的话会去缓存池中查看当前的sql的缓存,如果有直接返回;

  • 如果缓存中没有则会由解析器语法语义生成解析树;

  • 优化器解析生成执行计划,并且选择合适的索引;

  • 存储引擎调用API接口去查询数据,将查询到的数据更新缓存cache;

  • 最后返回给客户端;

存储引擎层

存储引擎是 MySQL 中具体与文件打交道的子系统,是基于文件系统抽象出来用于mysql和磁盘文件打交道的一个系统;
常用的存储引擎, MyISAM、支持事务的 InnoDB;

  • MySQL 5.6 版本之前,默认的存储引擎都是 MyISAM;

  • 5.6 版本以后默认的存储引擎就是 InnoDB ;

功能对比

MySQL体系架构的示例分析

  • InnoDB 支持 ACID 的事务 4 个特性,而 MyISAM 不支持;

  • InnoDB 支持 4 种事务隔离级别,默认是可重复读 Repeatable Read 的,MyISAM 不支持;

  • InnoDB 支持 crash 安全恢复,MyISAM 不支持;

  • InnoDB 支持外键,MyISAM 不支持;

  • InnoDB 支持行级别的锁粒度,MyISAM 不支持,只支持表级别的锁粒度;

  • InnoDB 支持 MVCC,MyISAM 不支持;

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...