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

MySQL的两种常用存储引擎的概览

作者: KillerManA | 来源:发表于2016-06-19 10:00 被阅读62次

InnoDB是MySQL的默认存储引擎,被设计用来处理大量的短期(short-lived)事务,短期事务大部分情况下都会正常提交,很少会被回滚。其次,其性能和自动崩溃回复特性,使得其在非事务型存储的需求中也非常流行。如果想学习存储引擎,这是一个非常非常值得学习的引擎。
下面我们来说一下这个引擎的概览,这对我们理解引擎很有帮助。

  • InnoDB的数据存储在表空间(tableplace)中,表空间是有其管理的一个黑盒子,由一系列的数据文件组成.

  • InnoDB采用MVCC来支持高并发,并且实现了四个标准的隔离等级,其默认级别是可重复读, 并且通过间隙锁(next-key locking)策略防止幻读的出现,间隙锁使得InnoDB不仅仅查询涉及到的行,而且还会对索引中的间隙进行锁定,以防止幻影行的出现。

  • InnoDB表是基于聚簇索引建立的,其中聚簇索引对主键查询有很高的性能,不过它的二级索引(非主键索引)中必须包含主键列,所以如果主键列很大的话,其它的所有索引就会很大。因此,若表上的索引较多的话,主键应当尽可能的小。

  • MyISAM索引不支持事务和行级锁,但是若只是只读数据,或者表比较小,那么其性能还是很高的。

  • MyISAM存储时,数据文件和索引文件分别.YMD和.YMI文件存储。

简单总结,MySQL拥有分层的架构,上层是服务层的服务和查询执行引擎,下层则是存储引擎,如果可以理解存储引擎和服务层之间如何通过API进行来回交互,那么就能抓住MySQL的核心基础架构的精髓。(路漫漫其修远兮,吾将上下而求索~)

相关文章

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

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

  • MySQL的两种常用存储引擎的概览

    InnoDB是MySQL的默认存储引擎,被设计用来处理大量的短期(short-lived)事务,短期事务大部分情况...

  • 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的默认内置存储引...

  • php面试题

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

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

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

网友评论

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

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