MySQL中拥有多种存储引擎,其中InnoDB是默认的数据引擎,现将其与MyISAM存储引擎对比:
- 是否支持事务:InnoDB支持,MyISAM不支持。
- 用途:InnoDB主要用于在线事务处理(OLTP)应用,而MyISAM主要用于在线分析处理(OLAP)应用。
- 支持的锁类型:InnoDB支持行锁与表锁,而MyISAM只支持表锁。
- 缓存:MyISAM只缓存索引文件,而不缓存数据文件,通过操作系统缓存数据文件,而InnoDB都缓存。
- 可恢复性:数据库发生崩溃的情况下,InnoDB所创建表的可恢复性更高。
- 其它:MyISAM支持表压缩和空间数据索引,InnoDB支持外键与在线热备份。