MySQL逻辑架构概述

时间:2021-01-31 20:04:11

1.MySQL逻辑架构

MySQL逻辑架构图

MySQL逻辑架构概述

MySQL逻辑架构分四层

1.连接层:主要完成一些类似连接处理,授权认证及相关的安全方案。

2.服务层:在 MySQL据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断,SQL接口,SQL解析,SQL分析优化, 缓存查询的处理以及部分内置函数执行(如日期,时间,数学运算,加密)等等。各个存储引擎提供的功能都集中在这一层,如存储过程,触发器,视图等。

3.引擎层:是底层数据存取操作实现部分,由多种存储引擎共同组成。真正负责MySQL中数据的存储和提取。就像Linux众多的文件系统 一样。每个存储引擎都有自己的优点和缺陷。服务器是通过存储引擎API来与它们交互的。这个接口隐藏 了各个存储引擎不同的地方。对于查询层尽可能的透明。这个API包含了很多底层的操作。如开始一个事物,或者取出有特定主键的行。存储引擎不能解析SQL,互相之间也不能通信。仅仅是简单的响应服务器 的请求。

4.存储层:将数据存储于裸设备的文件系统之上,完成与存储引擎的交互。

参考张冲andy的文章:MySQL逻辑架构概述

MySQL语句执行流程图

MySQL逻辑架构概述

2.MySQL存储引擎

查看MySQL中现在提供的存储引擎:

show engines;

查看MySQL现在默认使用的存储引擎:

show variables like '%storage_engine%';

查看某表使用的存储引擎:

show create table 表名;

从上面MySQL逻辑架构图可以看到,MySQL有很多种存储引擎,他们以插件的形式存在,需要那个存储引擎则装上那个存储引擎。

其实在MySQL中主要使用MyISAM引擎和InnoDB引擎。

MyISAM引擎和InnoDB引擎简单对比:

MyISAM引擎 InnoDB引擎
主外键 不支持 支持
事务 不支持 支持
行表锁 表所.不适合高并发 行锁.适合高并发
缓存 只缓存索引 缓存索引和真实数据
表空间
关注点 性能.偏读 事务
默认安装