MySQL - 存储引擎

79 阅读1分钟

存储引擎是什么

首先,存储引擎是所有关系型数据库中都非常重要的一个概念,它决定了数据在磁盘或其他存储介质中如何存储,如何组织,如何读取,如何检索。不同的存储引擎所支持的特性和性能都不相同!

MySQL 8常用的存储引擎

存储引擎支持事务支持 ACID 兼容锁类型检索方式
InnoDB行锁B+树
MyISAM××表锁B+树
Aria表锁B+树
FEDERATED××表锁
CSV××表锁哈希表
MEMORY××表锁哈希表
  • 检索方式性能说明:

性能排序:哈希表 > B+树 > B树

但是,需要需要注意的是,哈希表只能等值查询不支持范围查询和排序操作,而B+树则是一个相对权衡后的选择

  • 怎么选择存储引擎

InnoDB适合需要进行提交、回滚、崩溃恢复的业务场景

MyISAM适合只需要提供插入和查询的业务场景(如日志)

MEMORY适合数据量少量数据且需要快速查询的业务场景

  • 怎么查看目前MySQL环境中支持哪些存储引擎
mysql> show engines;