美文网首页
MyISAM和InnoDB区别

MyISAM和InnoDB区别

作者: whupenger | 来源:发表于2019-03-22 18:15 被阅读0次

主要区别

  • InnoDB支持事务,而MyISAM不支持事务,InnoDB中每条sql语句默认是一个事务,所以在使用的时候推荐在begin和commit之间添加多条语句,手动组装一个事务
  • InnoDB支持外键,而MyISAM不支持外键,如果将拥有外键的InnoDB表转成MyISAM会失败报错
  • InnoDB采用的是聚集索引,数据和索引是绑定在一起的,必须要有主键,主键索引的效率很高,通过辅助索引需要查询两次,通过辅助索引查询到主键索引,再用主键索引查询到数据,因此主键不能太大;而MyISAM是非聚集索引,数据和索引是分开的,索引里面保存的是指向数据的指针,主键索引和辅助索引是独立的
  • InnoDB不保存表的具体行数,使用select count时会全表扫描,速度很慢,但是MyISAM会保存表的具体行数,查询起来很快
  • InnoDB支持行级锁,行锁提高了多用户并发的操作性能,但是行锁只在WHEREd的主键是有效的,非主键的WHERE会锁全表;MyISAM支持表级锁,用户在操作myisam表时,select,update,delete,insert语句都会给表自动加锁,如果加锁以后的表满足insert并发的情况下,可以在表的尾部插入新的数据。

相关文章

  • mysql

    常见的储存引擎 InnoDB MyISAM MyISAM和InnoDB的区别 ①InnoDB支持事务,MyISAM...

  • 数据库引擎

    MyISAM和InnoDB区别

  • 常见面试题

    MyISAM和InnoDB的区别 MyISAM不支持事务,而InnoDB支持事务的。 MyISAM锁的粒度是表级,...

  • MySQL 篇 --- 2021-08-31

    MyISAM 和 InnoDB 的区别 MyISAM 查询效率更高,但是不支持事物 InnoDB 插入、更新较高,...

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

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

  • 数据库常见问题

    MyISAM和InnoDB 主要区别: 1).[事务]MyISAM是非事务安全型的,而InnoDB是事务安全型的,...

  • Innodb和MyIsam的区别

    Innodb和MyIsam的区别 (1)对事务的⽀持不同MyIsam不⽀持事务,⽽InnoDB⽀持事务。(2)锁的...

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

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

  • mysql的引擎、innodb/Myisam 的区别

    四种引擎:Memory、MYISAM、DBD、InnoDB、Archive MyISAM与InnoDB的区别MyI...

  • mysql(七)

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

网友评论

      本文标题:MyISAM和InnoDB区别

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