事务和外键

InnoDB 支持事务和外键,具有安全性和完整性,MyISAM不支持事务和外键,支持高速存储和检索

锁机制

InnoDB 支持行级锁,锁定指定记录,基于索引来加锁实现。MyISAM支持表级锁,锁定整张表

索引结构

InnoDB 使用聚簇索引,索引和记录在一起存储,即缓存索引也缓存记录。MyISAM 使用非聚簇索引,索引和记录是分开的。

并发处理能力

InnoDB 读写阻塞与隔离级别有关,可以采用多版本并发控制即MVCC来支持高并发。MyISAM 使用表锁,会导致写操作并发低,读之间并不阻塞,读写阻塞。

存储文件

InnoDB 对应两个文件,一个 .frm 表结构文件,一个 .ibd 数据文件,InnoDB 表最大支持 64TB。MyISAM 表对应三个文件,一个 .frm 表结构文件,一个 .MYD 表数据文件,一个 .MYI 索引文件。默认限制是 256TB。