- 在MySQL 5.5.5版本之前默认存储引擎是 MyISAM,之后默认存储引擎是 InnoDB。
- InnoDB支持事务,MyISAM不支持。
- InnoDB支持外键,MyISAM不支持。
- InnoDB在MySQL 5.6之前不支持全文索引,MyISAM支持。
- InnoDB中不保存表的行数,如select count(*) from table时,InnoDB需要扫描一遍整个表来计算有多少行,但是MyISAM只需要读出保存好的行数即可。需要注意的是,当count(*)语句包含where条件时MyISAM也需要扫描整个表。
- 对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引。
- 清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表。
- InnoDB支持行锁和表锁,而MyISAM只支持表锁。
- InnoDB一张表对应两个文件,分别是.frm、.ibd;MyISAM一张表对应三个文件,分别是.frm、.MYD、.MYI。
MySQL存储引擎InnoDB与MyISAM的区别
最新推荐文章于 2024-09-22 13:30:54 发布