php面试会经常问到mysql数据库有哪几种类型,经常问到其中InnoDB和MyIsam的区别之类的问题,现在这两个引擎的区别没那么明显了,一般都用InnoDB了。

为什么现在数据库都用 InnoDB 引擎?归结一下为什么 InnoDB 比MyIsam更流行:

1.InnoDB经过长时间的发展和优化,性能已经非常好了,绝大部分场景都能有更好的性能。最主要的原因就是InnoDB是行锁,Myisam是表锁。只有完全插入型或者读取型的表用Myisam会略微快一点。

2.事务在关系型数据库中非常重要的一个特性,很多实用场景都需要用到事务特性,而InnoDB支持但MyIsam不支持。

其他的存储引擎使用场景都不太多,偶尔会用到Memory去做热表。