本篇速览
早在MySQL基础篇的学习中,我们就一直看到innodb
这个存储引擎,但是好像对于其他的存储引擎也没有去学习和了解,而innodb
有何种特点也不得而知,而本篇将从一下四点,带你逐一攻破Ta:
-
1️⃣首先系统地介绍一下MySQL数据库服务器的体系结构,在学习存储引擎之前,我们需要了解存储引擎在MySQL数据库服务器中所占的地位和作用
-
2️⃣再介绍一下MySQL数据库中的存储引擎,即MySQL有哪些存储引擎,以及我们如何去选择存储引擎,此处的选择是指设置存储引擎为某个存储引擎
-
3️⃣介绍各个存储引擎的特点和区别,只有了解了存储引擎之间的区别以及各自的优势,我们才能在实际环境下选择最合适的存储引擎
-
4️⃣第四个方面,讲解各个存储引擎的应用场景,系统的总结各个存储引擎合适的应用场景,方便后续选择时的思路确定
1️⃣ MySQL数据库服务器的体系结构
以下MySQL数据库服务器的体系架构图,最上面的一层就是作为后端开发的我经常会使用到的客户端连接器JDBC
,当然,除了Java
,Python,PHP,Ruby
也可以成为客户端连接器 而我们主要关注的是客户端连接器以下的,MySQL服务端的体系结构,即MySQL Server
首先第一层:连接层。 它的作用是:接收客户端连接,完成连接的处理,认证授权,安全方案,检查是否超过最大连接数…… 其中认证授权就是我们在使用用户名和密码登陆的时候的过程,并赋予该用户对应的权限
再就是第二层:服务层。 核心功能基本上都在这一层完成:SQL接口、解析器、查询优化器、缓存,像创建存储过程、视图、触发器这些都在服务层完成
第三层:引擎层。 上图中一个个紫色的圆筒就是不同种类的存储引擎,其中第一个就是我们常用的innodb
,上图中是MySQL提供给我们的存储引擎,而我们自己也可以对存储引擎进行扩展 它被称为:可插拔式存储引擎
,类似于接口,我们需要就把它插上来,不需要就把它拔掉 存储引擎控制的是我们的数据存储和拿取的方式