一、InnoDB
1.支持事物
2.不加锁读取
3.支持外键
4.支持FULL TEST 类型索引
5.delete表时一行一行删除。
6.把数据和索引放在表空间里面,夸平台可直接拷贝使用。
7.InnoDB中必须包含Auto_increment类型字段的索引 。
8.不保存表行数,select count(*)时需要扫描全表。
二、MyISAM
1.不支持事物,会困可能造成不完全回滚,不具备原子性。
2.不支持外键。
3.支持全文检索。
4.保存表行数,不带where条件的select count(*)直接返回,效率高。
5.delete表时先drop表,再重新建表。
三、如何选择
1. 是否要支持事务,如果要请选择innodb,如果不需要可以考虑MyISAM。
2. 如果表中绝大多数都只是读查询,可以考虑MyISAM,如果既有读写也挺频繁,请使用InnoDB。
3. 系统崩溃后,MyISAM恢复起来更困难。
4. MySQL5.5版本开始Innodb已经成为Mysql的默认引擎(之前是MyISAM),说明其优势是有目共睹的,如果你不知道
用什么,那就用InnoDB,至少不会差。