1、MyISAM不支持事务,而Innodb支持事务。
2、MyISAM 最小的锁粒度是表级锁,InnoDB 最小的锁粒度是行级锁。
3、外键支持:mysiam表不支持外键,而InnoDB支持。
4、count运算:myisam用一个变量保存了整个表的行数,速度很快,可以直接调取变量;而Innodb没有。执行 select count(*) from table 时需要全表扫描。
5、是否⽀持MVCC :仅 InnoDB ⽀持。
【【应对⾼并发事务, MVCC⽐单纯的加锁更⾼效;
MVCC只在READ COMMITTED 和 REPEATABLE READ 两个隔离级别下⼯作;
MVCC可以使⽤乐观(optimistic)锁 和 悲观(pessimistic)锁来实现;各数据库中MVCC实现并不统⼀。】】
6、InnoDB 使用的是聚集索引,MyISAM使用非聚集索引。
MyISAM适合:(1)做很多count 的计算;(2)读密集;(3)没有事务。
InnoDB适合:(1)要求事务;(2)写密集(3)高并发