mysql存储引擎介绍

  1. 什么是MySQL存储引擎
    MySQL属于关系型数据库,而关系型数据库的存储是以表的形式进行的,对于表的创建,数据的存储,检索,更新等都是由MySQL存储引擎完成的,这也是MySQL存储引擎在MySQL中扮演的重要角色。
    研究过SQL Server和Oracle的读者可能很清楚,这两种数据库的存储引擎只有一个,而MySQL的存储引擎种类比较多,如MyISAM存储引擎,InnoDB存储引擎和Memory存储引擎.
    MySQL之所以有多种存储引擎,是因为MySQL的开源性决定的。MySQL存储引擎,从种类上来说,大致可归结为官方存储引擎和第三方存储引起。MySQL的开源性,允许第三方基于MySQL骨架,开发适合自己业务需求的存储引擎。

  2. MySQL存储引擎作用
    MySQL存储引擎在MySQL中扮演重要角色,其作比较重要作用,大致归结为如下两方面:
    作用一:管理表创建,数据检索,索引创建等
    作用二:满足自定义存储引擎开发。

  3. MySQL引擎种类
    不同种类的存储引擎,在存储表时的存储引擎表机制也有所不同,从MySQL存储引擎种类上来说,可以分为官方存储引擎和第三方存储引擎。

    当前,也存在多种MySQL存储引擎,如MyISAM存储引擎,InnoDB存储引擎,NDB存储引擎,Archive存储引擎,Federated存储引擎,Memory存储引擎,Merge存储引擎,Parter存储引擎,Community存储引擎,Custom存储引擎和其他存储引擎。

    其中,比较常用的存储引擎包括InnoDB存储引擎,MyISAM存储引擎和Momery存储引擎。

  4. 几种典型MySQL存储引擎比较

存储引擎优点使用场景
InnoDB1. 可以通过自动增长列,方法是auto_increment。
2. 支持事务。默认的事务隔离级别为可重复度,通过MVCC(并发版本控制)来实现的。
3. 使用的锁粒度为行级锁,可以支持更高的并发;
4. 支持外键约束;外键约束其实降低了表的查询速度,但是增加了表之间的耦合度。
5. 配合一些热备工具可以支持在线热备份;
6. 在InnoDB中存在着缓冲管理,通过缓冲池,将索引和数据全部缓存起来,加快查询的速度;
7.对于InnoDB类型的表,其数据的物理组织形式是聚簇表。所有的数据按照主键来组织。数据和索引放在一块,都位于B+数的叶子节点上;
更新删除频率高,或者数据完整性;并发性高,支持事务和外键,比如自动化办公系统
MyISAM1. MyISAM存储引擎不支持事务、表锁设计、支持全文索引,主要面向一些OLAP数据库
2. 缓冲池只缓存索引文件,而不缓冲数据文件。
3. MyISAM存储引擎表 由MYD、MYI、frm 组成MYD用来存放数据文件,MYI用来存放索引文件
读写插入为主,比如博客,新闻门户

版权声明:本文为luuJa_IQ原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。