目录
数据库存储引擎
- MySQL存储引擎架构
- MySQL常用存储引擎
课堂笔记
1. 数据库存储引擎
1.1 MySQL存储引擎架构
存储引擎四层架构
-
连接层,客户端主要通过连接层与服务器间的接口对服务器进行连接,并发送请求。
-
服务层,为MySQL的核心层,主要包括连接池、SQL解析器、SQL优化器、缓冲区、查询执行引擎等。
- 连接池:当接收到请求后,服务端的连接池模块会对首先该请求进行处理。
- SQL解析器:对客户端发送的SQL语句进行语法解析,若有错误会直接报错。
- SQL优化器:针对SQL语句制定执行流程,生成执行计划。
- 缓冲区:对客户端的各种查询结果进行缓存,每次客户端请求时都会首先查找缓冲区。
- 查询执行引擎:通过API与下层的存储引擎进行通信,并获取查询结果返回。
-
存储引擎层,数据操作与文件系统的中间层,负责MySQL中数据的存储与提取,规定了底层硬件操作数据的方式,选择的存储引擎的不同针对底层文件的操作不同。服务器中的查询执行引擎通过API与存储引擎进行通信,通过接口屏蔽了不同存储引擎之间的差异。MySQL采用插件式的存储引擎。
-
文件系统层,主要用于永久存储各种数据以及各种操作的日志。
1.2 MySQL常用存储引擎
-
存储引擎基本操作
-
查看默认存储引擎
show variables like '%storage_engine%';
-
查看某张表使用的存储引擎
show create table tbname;
-
查看当前数据库支持的引擎
show engines;
-
创建表时指定存储引擎
create table tbname(..
-