MyISAM 和 InnoDB 有什么区别?
- InnoDB支持事务,MyISAM不支持
- InnoDB 是聚集索引,MyISAM 是非聚集索引。InnoDB在MySQL5.6之前不支持全文索引
- InnoDB支持外键,MyISAM不支持
- InnoDB 最小的锁粒度是行锁,MyISAM 最小的锁粒度是表锁。
- InnoDB中不保存表的行数,但是MyISAM只要简单的读出保存好的行数即可
- 对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引
- 清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表
- InnoDB 支持数据库异常崩溃后的安全恢复,恢复的过程依赖于redo log。