myiasm引擎myiasm是mysql默认的引擎,但是它没有提供对数据库事务的支持,也不支持行级锁和外键,因此当insert(插入)或update(更新)数据时即写操作需要锁定整个表,效率便会低一些。不过和innodb不同,myiasm中存储了表的行数,于是select count(*) from table时只需要直接读取已经保存好的值而不需要进行全表扫描。如果表的读操作远远多于写操作且不需要数据库事务的支持,那么myiasm也是很好的选择。
主要区别:1、myiasm是非事务安全的,而innodb是事务安全的
2、myiasm锁的粒度是表级的,而innodb支持行级锁
3、myiasm支持全文类型索引,而innodb不支持全文索引
4、myiasm相对简单,效率上要优于innodb,小型应用可以考虑使用myiasm
5、myiasm表保存成文件形式,跨平台使用更加方便
应用场景:1、myiasm管理非事务表,提供高速存储和检索以及全文搜索能力,如果再应用中执行大量select操作,应该选择myiasm
2、innodb用于事务处理,具有acid事务支持等特性,如果在应用中执行大量insert和update操作,应该选择innodb
以上就是mysql两种引擎的有什么区别的详细内容。
