- 1).[事务]MyISAM是非事务安全型的,而InnoDB是事务安全型的,默认开启自动提交,宜合并事务,一同提交,减小数据库多次提交导致的开销,大大提高性能。
- 2).[锁]MyISAM锁的粒度是表级,而InnoDB支持行级锁定。
- 3).[全文索引]MyISAM支持全文类型索引,而InnoDB不支持全文索引。
- 4).[查询效率]MyISAM相对简单,所以在效率上要优于InnoDB,小型应用可以考虑使用MyISAM。
- 5).[外健]MyISAM不支持外健,InnoDB支持。
- 6).[count]MyISAM保有表的总行数,InnoDB只能遍历。
- 6).MyISAM表是保存成文件的形式,在跨平台的数据转移中使用MyISAM存储会省去不少的麻烦。
- 7).InnoDB表比MyISAM表更安全,可以在保证数据不会丢失的情况下,切换非事务表到事务表(alter table tablename type=innodb)。
- 8)MyIsam索引和数据分离,InnoDB在一起,MyIsam天生非聚簇索引,最多有一个unique的性质,InnoDB的数据文件本身就是主键索引文件,这样的索引被称为“聚簇索引”
- 具体见:https://blog.csdn.net/silyvin/article/details/80140153
9)InnoDB提供多版本数据支持 https://blog.csdn.net/zhangliangzi/article/details/51379274,MyIsam不支持