所有分类
  • 所有分类
  • 未分类

MySQL存储引擎-MyISAM和InnoDB的区别

简介

本文介绍MySQL存储引擎MyISAM和InnoDB的区别。

MySQL 有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用。引擎有:
MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。

MyISAM和InnoDB对比

InnoDB占优势的项

InnoDBMyISAM
事务支持。 每条SQL语言都默认封装成事务,自动提交。最好把多条SQL语言放在begin和commit之间,组成一个事务不支持
外键支持。 将拥有外键的InnoDB表转成MyISAM会失败报错不支持
表级锁、行级锁(默认)。 行锁实现在索引上,不是锁在物理行记录上。若访问没有命中索引,行锁退化为表锁。表级锁 并发量低。
崩溃恢复支持不支持

MyISAM占优势的项

InnoDBMyISAM
全文索引不支持支持

注意:从MySQL5.6之后,InnoDB也支持全文索引了。

使用场景

InnoDBMyISAM
并发高或需要事务的地方。读操作远远超过写操作,且不需要事务的地方。

19

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录