【MySQL】数据库InnoDB 和 MyISAM对比
功能对比
- InnoDB 支持 ACID 的事务 4 个特性,而 MyISAM 不支持;隔离性 一致性 原子性 持久性
- InnoDB 支持 4 种事务隔离级别,默认是可重复读 Repeatable Read 的,MyISAM 不支持;读已提交 读未提交 可重复读 串行化
- InnoDB 支持 crash 安全恢复,MyISAM 不支持;
- InnoDB 支持外键,MyISAM 不支持;
- InnoDB 支持行级别的锁粒度,MyISAM 不支持,只支持表级别的锁粒度;
- InnoDB 支持 MVCC,MyISAM 不支持;
InnoDB 表最大还可以支持 64TB,支持聚簇索引、支持压缩数据存储,支持数据加密,支持查询/索引/数据高速缓存,支持自适应hash索引、空间索引,支持热备份和恢复等。
性能对比
- 读写混合模式下,随着 CPU 核数的增加,InnoDB 的读写能力呈线性增长,在测试用例里,最高可达近 9000 的 TPS,但 MyISAM 因为读写不能并发,它的处理能力跟核数没关系,呈一条水平线,TPS 低于 500。TPS 代表每秒事务的数量
- 只读模式下,随着 CPU 核数的增加,InnoDB 的读写能力呈线性增长,最高可达近 14000 的 TPS,但 MyISAM 的处理能力不到 3000 TPS。
还没有评论,来说两句吧...