1、存储结构
MyISAM: 每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义,数据文件的扩展名为.MYD(MYData),索引文件的扩展名是MYI(MYIndex)。
InnoDB: 所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB表的大小只受限于操作系统文件的大小,一般为2GB。
2、存储空间
MyISAM:可被压缩,存储空间较小。支持三种不同的存储格式:静态表(默认,但是注意数据末尾不能有空格,会被去掉)、动态表、压缩表
InnoDB: 需要更多的内存和存储,它会在主存中建立其专用的缓冲池用于高速缓冲数据和引擎。
3、可移植性、备份及恢复
MyISAM: 数据是以文件的形式存储,所以在跨平台的数据转移中会很方便。在备份和恢复时可单独针对某个表进行操作。
InnoDB: 免费的方案可以是拷贝数据文件、备份binlog,或者用mysqldump,在数据量达到几十G的时候就相对痛苦了。
4、事务支持
MyISAM:强调的是性能,每次查询具有原子性,其执行速度比InnoDB类型更快,但不提供事务支持。
InnoDB: 提供事务支持,外键等高级数据库功能。具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全型表。
5、AUTO_INCREMENT
MyISAM