我们在mysql新建表的时候常常会要求选择引擎,最常用的就是两种引擎,一种是innodb,另外一种是myisam。这两种引擎在不同情况下需要选择不同的,这样才能使得我们进行操作表的时候速度最优。
MyISAM
MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持
InnoDB
InnoDB提供事务支持事务,外部键等高级数据库功能
MyISAM
如果执行大量的SELECT,MyISAM是更好的选择
InnoDB
1.如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表
2.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。
3.LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用
上面就是说m引擎就是查询快,它不支持更改表。i引擎是查询慢,但是支持一系列对表的更改操作,因为i引擎是安全的数据结构。
补充:在使用navicat时候如果选myisam这种引擎,一旦表设计好保存后,后续想要再往表里面插入字段就会失败,这是myisam引擎导致的。所以我们先将表修改为innodb引擎即可,然后向里面插入字段,保存后再改回myisam引擎即可。