目录
区别
1.是否支持事务
InnoDB支持事务,对于每条SQL语句都会默认封装为事务,为了提高速度可以把多条SQL放在begin和commit之间,形成一个事务
MyISAM不支持事务
2.是否支持外键
InnoDB支持
MyISAM不支持
3.索引类型
InnoDB为聚簇索引
MyISAM为非聚簇索引
具体可以看聚簇索引与非聚簇索引
4.是否存储全表行数
InnoDB不存储,获取行数要遍历全表
MyISAM存储
5.锁的类型
InnoDB支持表级锁、行级锁(默认)
MyISAM支持表级锁
具体可以看【数据库】锁
6.索引要求
InnoDB必须有唯一索引(如主键)
MyISAM可以没有
7.存储文件
InnoDB存储文件为表定义文件和数据文件
MyISAM存储文件为表定义文件,数据文件,索引文件
8.适用场景
当增删改(写)操作多时,用Innodb
当查(读)操作多时,用MyISAM
参考文章