MySQL四种存储引擎(InnoDB、MyISAM、MEMORY、Archive)介绍和对比

MySQL 2429℃

数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。使用哪一种引擎需要灵活选择,一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求,使用合适的存储引擎,将会提高整个数据库的性能。

1.InnoDB

InnoDB官方特点描述是“支持事务,行级锁定和外键”。是事务型数据库的首选引擎,支持事务安全表 (ACID),支持行锁定和外键。MySQL5.5.5 之后,InnoDB作为默认存储引擎。如果要提供提交、回滚、崩溃恢复能力的事务安全(ACID兼容)能力,并要求实现并发控制,InnoDB是一个好的选择。

2.MyISAM

MyISAM基于ISAM的存储引擎,并对其进行扩展。它是在Web、数据存储和其他应用环境下最常用的存储引擎之一。拥有较高的插入、查询速度,但不支持事务。在 MySQL5.5.5之前的版本中,MyISAM 是默认存储引擎。如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率

3.MEMORY

MEMORY官方特点描述是“基于散列,存储在内存中,对临时表有用”。该存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。不支持事务和外键。如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果。

4.Archive

Archive支持高并发的插入操作,但是本身不是事务安全的。Archive非常适合存储归档数据,如记录日志信息可以使用Archive。如果只有INSERT和SELECT操作,可以选择Archive。

5.查看MySQL支持的引擎和默认引擎

SHOW ENGINES;
#输出结果中Support列的值是YES代表目前mysql支持该类引擎,如果是DEFAULT代表是默认引擎。

6.查看MySQL某个表使用的引擎

SHOW CREATE TABLE 表名;

7.四种存储引擎对比

功 能 MYISAM Memory InnoDB Archive
存储限制 256TB RAM 64TB None
支持事物 x x x
支持全文索引 x x x
支持数索引 x
支持哈希索引 x x x
支持数据缓存 x N/A x
支持外键 x x x

转载请注明:零五宝典 » MySQL四种存储引擎(InnoDB、MyISAM、MEMORY、Archive)介绍和对比