InnoDB和MyISAM有什么区别?


一、InnoDB和MyISAM有什么区别?

InnoDB和MyISAM都是MySQL的存储引擎,MySQL在5.5之前默认使用MyISAM作为存储引擎,5.5之后默认使用InnoDB作为存储引擎,它们的区别主要是以下几点:

InnoDB MyISAM
事务 支持(基于MVCC和Next-Key Lock) 不支持
索引 聚簇索引 非聚簇索引
外键 支持 不支持
锁支持 表锁、行锁 表锁
全文索引 不支持 支持
存储方式 索引和数据一起存储 索引和数据分开存储
使用场景 支持事务、频繁修改 查询为主
是否支持崩溃恢复 支持(基于redo log) 不支持
读写性能 CPU核数越多性能越好 跟CPU核数无关(读写不能并发)

文章作者: GaryLee
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 GaryLee !
  目录