MySQL的存储引擎有哪些?它们之间的区别?
MySQL的存储引擎有哪些?它们之间的区别是?
当前版本
MySQL 8.4版本一共提供10种存储引擎,详见官网。下面说几个常见和常用的引擎及其特点。
常用引擎
InnoDB
是MySQL的默认存储引擎 (MySQL 5.5.5之后)
特点:
- 支持事务、外键、MVCC (多版本并发控制)
- 使用聚簇索引 (聚集索引)
- 使用数据缓存和索引缓存 (实现: Buffer pool)
- 支持行级锁
- 读写阻塞主要看事务隔离级别
MyISAM
是一个读性能比较好、存储限制更大的存储引擎
特点:
- 不支持事务、外键和MVCC
- 使用非聚簇索引
- 使用索引缓存
- 锁的粒度只到表级锁 (也就是说这个存储引擎加锁的话就是锁整表)
- 读写相互阻塞 (因为表锁)
MEMORY
是把数据存储到内存中的存储引擎,数据库重启数据消失。
NDBCluster
支持高可用性和数据分布,适合大型分布式场景
特点:
- 支持行级锁、自动分区
本文标题:MySQL的存储引擎有哪些?它们之间的区别?
文章作者:Crowntit
发布时间:2025-05-22
最后更新:2025-05-22
版权声明:本文为原创文章,转载请附上原文出处链接。