MySQL:存储引擎简介

来源:这里教程网 时间:2026-03-01 15:27:11 作者:

此处借用一下整理的对比图表

InnoDB 存储引擎

功能简介

支持事务

行锁设计

支持外键

非锁定读

多版本并发控制(MVCC)

next-key locking

插入缓冲(insert buffer)

二次写(double write)

自适应哈希索引(adaptive hash index)

预读(read ahead)

存储 构成

idb 文件

frm 文件

适用场景: 在线事务处理(OLTP)

缺点:不适用于分析类语句,连表查询不建议超过三张表 

MyISAM 存储引擎

功能简介

全文索引

缓冲池之缓存(cache)索引文件,不缓冲数据文件

存储构成

MYD(数据文件)

MYI(索引文件)

适用场景: 分析类查询(OLAP)

缺点: 不支持事务

NDB 存储引擎

功能简介

集群存储引擎(类似 RAC),share nothing集群架构

通过添加存储节点线性提高数据库性能

存储 构成

数据全部在内存中

缺点: 复杂的连接操作需要巨大的网络开销,查询速度慢

Memory 存储引擎

功能简介

只支持表锁

存储构成

数据在内存中

适用场景

作为临时表使用

缺点

重启或崩溃,数据将消失

只支持表锁,并发性能差

不支持 TEXT 和 BLOB 列类型

存储变长字段时按照char的方式进行

大于Memory存储引擎表的容量设置,会转换为MyISAM存储形式,性能会有损失

Archive 存储引擎

功能简介

只支持 INSERT 和 SELECT

支持行锁来实现高并发插入操作

存储构成

zlib算法压缩存储

适用场景: 适合存储归档数据

缺点: 不支持事务安全

Maria 存储引擎

支持功能

缓存数据

索引文件

行锁设计

支持 MVCC

支持事务和非事务安全

更好的BLOB字符类型的处理性能

相关推荐