美文网首页mysqlMysql
存储引擎MyISAM与Innodb区别

存储引擎MyISAM与Innodb区别

作者: Mr_Arvin | 来源:发表于2019-03-14 18:50 被阅读11次

1、事务支持
MyISAM不支持事务,而Innodb支持,InnoDB的AUTOCOMMIT默认是打开的.

begin
  sql语句
commit

2、存储结构
MyISAM:每个MyISAM在磁盘上存储成三个文件。
InnoDB:所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB表的大小只受限于操作系统文件的大小,一般为2GB。

3、外键支持
MyISAM不支持外键,而Innodb支持。

4、 AUTO_INCREMENT
MyISAM:可以和其他字段一起建立联合索引。引擎的自动增长列必须是索引,如果是组合索引,自动增长可以不是第一列,他可以根据前面几列进行排序后递增。
InnoDB:InnoDB中必须包含只有该字段的索引。引擎的自动增长列必须是索引,如果是组合索引也必须是组合索引的第一列。

5、表锁差异
MyISAM只支持表级锁,Innodb支持事务和行级锁。

6、全文索引
MyISAM支持全文索引,Innodb不支持,但是可以用插件使之也支持全文索引。
全文索引是指对char、varchar和text中的每个词(停用词除外)建立倒排序索引。

MyISAM和InnoDB两者的应用场景:

  1. MyISAM管理非事务表,应用在不需要事务外键支持的情况下,需要执行大量的SELECT查询,可以选择。
  2. InnoDB用于事务处理应用程序,如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能。

相关文章

  • mysql(七)

    MySQL存储引擎-innodb 查看存储引擎 innodb和myisam的物理区别 innodb 核心特性 MV...

  • MySQL学习日记(十一)-技术问答

    一、MySQL主要存储引擎MyISAM和InnoDB的区别? 1、 存储结构 MyISAM:每个MyISAM在磁盘...

  • 文章总结(6)—数据库

    InnoDB和MyISAM存储引擎的区别 InnoDB使用的是行锁,MyISAM使用的是表锁; InnoDB支持事...

  • MySQL面试题和答案

    Mysql 的存储引擎,myisam和innodb的区别。答: 1.MyISAM 是非事务的存储引擎,适合用于频繁...

  • 面试题2

    Mysql 的存储引擎,myisam和innodb的区别。答: 1.MyISAM 是非事务的存储引擎,适合用于频繁...

  • 【转】mysql 面试题

    Mysql 的存储引擎,myisam和innodb的区别。 答: 1.MyISAM 是非事务的存储引擎,适合用于频...

  • MySQL面试题和答案

    Mysql 的存储引擎,myisam和innodb的区别。答: 1.MyISAM 是非事务的存储引擎,适合用于频繁...

  • 浅谈MySQL分布式事物解决方案

    引言:MySQL存储引擎主要分为InnoDB、MyISAM,它们的主要区别是InnoDB支持事物,而MyISAM不...

  • MySQL

    Mysql架构 InnoDB跟MyISAM的区别( V5.1之前默认存储引擎是MyISAM;在此之后默认存储引擎是...

  • 系统原理-乐观锁与悲观锁

    InnoDB与MyISAM Mysql 在5.5之前默认使用 MyISAM 存储引擎,之后使用 InnoDB 。查...

网友评论

    本文标题:存储引擎MyISAM与Innodb区别

    本文链接:https://www.haomeiwen.com/subject/fiscmqtx.html