存储引擎
MySQL体系结构图

- 从上至下分别为:
- 连接层
- 服务层
- 引擎层(Index索引位于引擎层,即不同的存储引擎有不同的索引结构)
- 存储层
存储引擎简介
- 存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式
- 存储引擎是基于表的,而不是基于库的,所以也被称为表类型
- 之前创建表时,也默认指定了ENGINE InnoDB(可用 show create table 表名 进行查看),即:

- show engines:展示当前数据库支持的引擎
InnoDB
- 是一种兼顾高可靠性和高性能的通用存储引擎
- 特点:
- DML操作(增删改)遵循ACID模型(事务四大特性),支持事务
- 行级锁,提高并发访问性能
- 支持外键FOREIGN约束,保证数据的完整性和正确性
- 每一个InnoDB引擎表都会对应一个表空间文件:xxx.ibd,存储该表的表结构(frm、sdi)、数据和索引
- 参数:innodb_file_per_table决定是多张表共用一个表文件,还是一个表使用一个表文件,使用ibd2sdi指令查看文件
- 结构:

- 其中我们创建的table中一行一行的数据,就是以row的形式存储在page中的
MyISAM和Memory
MyISAM
- MySQL早期默认存储引擎
- 不支持事务
- 不支持外键
- 支持表锁,不支持行锁
- 访问速度快
Memory
- 表数据存储在内存中(其他引擎表数据存储在磁盘),只能作临时表
- 速度快
- 支持hash索引
存储引擎选择


posted @
2025-01-26 17:52
Luna-Evelyn
阅读(
5)
评论()
编辑
收藏
举报
点击右上角即可分享