这个blog我们来聊聊MySQL 常用的存储引擎
一.MySQL存储引擎概述
| 存储引擎 | 描述 |
|---|---|
| InnoDB 引擎 | 支持事务,使用最广泛的存储引擎 |
| MyISAM 引擎 | MySQL 5.1之前默认存储引擎,不支持事务,表锁 |
| Memory 引擎 | 数据保在内存中,重启后会丢失,可以加快查询速度 |
| NDB集群引擎 | 分布式、share-nothing的、容灾的、高可用的NDB数据库集合 |
| Archive 引擎 | 只支持insert、select操作,更节省表空间 |
| Blackhole引擎 | 只记日志不实际存储数据,用于复制数据到备库 |
| CSV引擎 | 将csv文件(逗号分隔) 当成MySQL表来处理,不支持索引 |
| Federated引擎 | 访问其它MySQL服务器的一个代理 |
| Merge 引擎 | 分区表后,该引擎已弃用 |
二.MyISAM存储引擎
| 功能 | 是否支持 |
|---|---|
| B-tree索引 | yes |
| 备份/基于时间点的恢复 恢复基于mysql的binlog而不是存储引擎 |
yes |
| 集群数据库 | no |
| 聚簇索引 | no |
| 数据压缩 | yes( 用compressed row format,表只读) |
| 数据缓存 | no |
| 数据加密 | yes(在服务器中通过加密功能实现) |
| 外键 | no |
| 全文索引 | yes |
| 空间数据 | yes |
| 空间索引 | yes |
| 哈希索引 | no |
| 索引缓存 | yes |
| 锁级别 | 表锁 |
| MVCC(多版本并发控制) | no |
| 复制支持 | yes(server级的binlog) |
| 存储限制 | 256TB |
| T-tree 索引 | no |
| 事务 | no |
| 更新数据字典的统计信息 | yes |
MyISAM因为不支持事务,如果异常断电,会导致数据丢失。
而且断电后很容易导致表损坏,需要进行表修复
myisamchk -r tablename
三.InnoDB存储引擎
| 功能 | 是否支持 |
|---|---|
| B-tree索引 | yes |
| 备份/基于时间点的恢复 恢复基于mysql的binlog而不是存储引擎 |
yes |
| 集群数据库 | no |
| 聚簇索引 | yes |
| 数据压缩 | yes |
| 数据缓存 | yes |
| 数据加密 | yes(在服务器中通过加密功能实现) |
| 外键 | yes |
| 全文索引 | yes(MySQL 5.6版本开始支持) |
| 空间数据 | yes |
| 空间索引 | yes(MySQL 5.7版本开始支持) |
| 哈希索引 | no |
| 索引缓存 | yes |
| 锁级别 | 行锁 |
| MVCC(多版本并发控制) | yes |
| 复制支持 | yes(server级的binlog) |
| 存储限制 | 64TB |
| T-tree 索引 | no |
| 事务 | yes |
| 更新数据字典的统计信息 | yes |
如果非必要情况,建议所有的表都使用InnoDB存储引擎,数据保护级别更高,维护也更方便。
四.Memory存储引擎
| 功能 | 是否支持 |
|---|---|
| B-tree索引 | yes |
| 备份/基于时间点的恢复 恢复基于mysql的binlog而不是存储引擎 |
yes |
| 集群数据库 | no |
| 聚簇索引 | no |
| 数据压缩 | no |
| 数据缓存 | N/A |
| 数据加密 | yes(在服务器中通过加密功能实现) |
| 外键 | no |
| 全文索引 | no |
| 空间数据 | no |
| 空间索引 | no |
| 哈希索引 | yes |
| 索引缓存 | N/A |
| 锁级别 | 表锁 |
| MVCC(多版本并发控制) | no |
| 复制支持 | Limited (See the discussion later in this section.) |
| 存储限制 | RAM |
| T-tree 索引 | no |
| 事务 | no |
| 更新数据字典的统计信息 | yes |
Memory存储引擎适用场景:
1.频繁被访问的字典表(读多写少)
2.数据分析中的中间结果
3.ETL过程中的中间结果表
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




