欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL数据库的常用引擎类型及不同之处讲解

程序员文章站 2022-09-17 20:31:20
满怀对mysql数据库研究的热情,继续走向引擎。 引擎是啥 引擎可以理解为汽车的发动机,可以理解为人的性格,对于数据库: 数据库存储引擎: 是数据库底层软件组织,数据库管理系...

满怀对mysql数据库研究的热情,继续走向引擎。

引擎是啥

引擎可以理解为汽车的发动机,可以理解为人的性格,对于数据库:

数据库存储引擎: 是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎,还可以支持插件引擎。

有哪些类型,有什么不同

ISAM

5.1版本之前存在的可以快速存储和查询数据的引擎,不占用大量内存和存储资源,但是不支持事务,索引,外键等核心功能,已经废弃

MyISAM

5.1版本之后出现的,主要基于ISAM引擎,提供了索引和字段管理,还提供了使用一种表格锁定的机制来优化多个并发的读写操作,但是由于其快速读取的性能,主要用于高负载的查询。

HEAP

也称MEMERY,该引擎通过在内存中建立临时表来存储数据,每个表实际对应着一个磁盘文件,文件名和表明相同,后缀名为.frm。由于其在内存中存储,所以有很高的存储,查询,修改性能,存储引擎默认使用hash索引,但由于其存储在内存中,所以数据可能存在不稳定性。所以当数据库异常重启,或者电脑重庆相关数据就会遗失,一般只使用一次。

INNODB

5.5版本后默认的数据库引擎,支持事务,索引,外键,系统崩溃修复能力和多版本并发控制的行级锁。支持自增auto_increment。

CSV

使用该引擎的MySQL数据库表会在MySQL安装目录data文件夹中的和该表所在数据库名相同的目录中生成一个.CSV文件(所以,它可以将CSV类型的文件当做表进行处理),这种文件是一种普通文本文件,每个数据行占用一个文本行。该种类型的存储引擎不支持索引,即使用该种类型的表没有主键列;另外也不允许表中的字段为null。