美文网首页
MySQL常用的两种存储引擎

MySQL常用的两种存储引擎

作者: 噫那里有条咸鱼 | 来源:发表于2017-05-04 15:58 被阅读114次

mysql有两种存储引擎:InnoDB和MyISAM。mysql5.5之前是默认MyISAM,mysql5.5之后改为InnoDB,可通过修改配置文件中的default-storage-engine,来修改默认引擎。


MyISAM

  1. 每个MyISAM在磁盘是存储为三个文件,第一个文件名以表的名字开始,扩展名为:
.frm 文件存储表定义
.MYD 数据文件的扩展
.MYI 索引文件的扩展
  1. MyISAM类型的表强调访问性能,执行速度比InnoDB更快,如果需要执行大量的select,MyISAM是较好的选择。
  2. MyISAM不支持事务,也不支持外键。
  3. MyISAM只支持到表级锁。
  4. 执行select count(*)form table时,MyISAM只需要读取保存好的行数即可,当语句中含有where条件时,两种表都需要扫描一遍具体的行数。
  5. MyISAM支持全文类型索引。
  6. 对于MyISAM表,AUTO_INCREMENT列可以是组合索引的其他列,插入记录后,自动增长列是按照组合索引到前面几列排序后递增的。

InnoDB

  1. InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB。
  2. 如果需要执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表;DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。
  3. InnoDB支持事务安全,外键等功能。
  4. InnoDB提供行级锁,同时行锁不是绝对的,当执行SQL语句时,MySQL不能确定要扫描的范围时,InnoDB表统一会锁全表。
  5. InnoD不保存表的具体行数,在执行select count(*) form table时,InnoDB会扫描一遍整个表来计算有多少行。
  6. InnoDB不支持全文索引
  7. 对于InnoDB表,自动增长列必须是索引,如果是组合索引,也必须是组合索引的第一列。

MySQL存储引擎的选择:

MySQL有多种存储引擎:MyISAM、InnoDB、MERGE、MEMORY、BDB等;每种引擎有各自的优缺点,但是常用的主要是MyISAM和InnoDB两个。
主要区别在于:

  1. InnoDB支持事务,MyISAM不支持。
  2. MyISAM适合查询和插入为主的应用,InnoDB适合频繁的修改和安全性较高的应用。
  3. 清空整个表时,InnoDB是一行一行删除效率很低,MyISAM则会重建表。
  4. InnoDB不支持FULLTEXT类型的索引。
  5. InnoDB支持外键,MyISAM不支持。
  6. InnoDB支持行级锁,MyISAM支持表级锁,在进行update时会锁表,并发量相对较小。

参考:http://www.jianshu.com/p/e30ea922e08f

相关文章

  • MySql 中 Innodb 与 MyISAM 两种存储引擎对比

    两种存储引擎都是 Mysql 常用的,从 5.7之后 Mysql 默认把存储引擎改为 Innodb 一 、区别:...

  • Mysql存储引擎

    存储引擎 mysql 给我们提供了很多存储引擎,常用的基本就两种MyISAM和InnoDB MyIsam和Inno...

  • MySql基础

    1. 存储引擎 MySQL可用的存储引擎有很多,我们只说最常用的两种InnoDB和MYISAM。 1.1 Inno...

  • 详解mysql中的各类锁

    一、存储引擎中锁的区别 在介绍锁之前,我们先来了解下mysql的存储引擎。我们常用的存储引擎一般有两种,MyISA...

  • MySql高级之常见的Join查询(一)

    MySql的存储引擎介绍 : 常用的MySql存储引擎只有两个:MyISAM以及InnoDB。 两个存储引擎的区别...

  • mysql自我小结

    MySql索引 存储引擎 查询mysql支持的引擎:show engines 常用引擎: MyISAM,InnoD...

  • MySQL系列(二)----MySQL存储引擎详解

    一、MySQL常用存储引擎及特点 1、InnoDB存储引擎 从MySQL5.5版本之后,MySQL的默认内置存储引...

  • MySql 常用指令

    MySQL常用指令 MySQL 存储引擎 选择 MySQL 数据类型

  • php面试题

    一、1:MySQL常用数据库存储引擎有MyISAM和innoDB, 这2种存储引擎的却别是什么? 这两种类型的索引...

  • 2、MySQL数据库引擎有哪些

    MySQL数据库引擎有哪些 如何查看mysql提供的所有存储引擎: mysql常用引擎包括:MyISAM、...

网友评论

      本文标题:MySQL常用的两种存储引擎

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