MyISAM和InnoDB的区别

在MySQL数据库中,最为人所知的存储引擎主要是MyISAM和InnoDB两种,在面试中经常会被问到,今天将这两者的区别整理出来,供大家参考学习。

MyISAM和InnoDB的区别_第1张图片

MyISAM和InnoDB的区别:

1.在不需要数据库事务操作等情况下,MyISAM的插入数据速度要优于InnoDB。但并不总是如此,可以通过优化配置参数来优化InnoDB的插入速度。

2.MyISAM不支持数据库事务,而InnoDB支持事务,包括事务提交和回滚操作。

3.MyISAM支持FullText类型的全文索引,而InnoDB不支持这种类型的全文索引,但可以使用Sphinx实现全文检索,这种方法可以提供比数据库更专业的搜索功能,并且对搜索性能做了优化。

4.MyISAM只支持表级锁,InnoDB支持表级锁和行级锁(默认锁)。表级锁在加锁时会对整个数据表进行加锁,锁的粒度大,事务效率并发低。

5.MyISAM不支持外键,InnoDB支持外键。

你可能感兴趣的:(MySQL,mysql)