Mysql数据库3种存储引擎有什么区别?

如题所述

第1个回答  2022-12-11

MySQL常见的三种存储引擎为InnoDB、MyISAM和MEMORY。其区别体现在事务安全、存储限制、空间使用、内存使用、插入数据的速度和对外键的支持。具体如下:

1、事务安全:

InnoDB支持事务安全,MyISAM和MEMORY两个不支持。

2、存储限制:

InnoDB有64TB的存储限制,MyISAM和MEMORY要是具体情况而定。

3、空间使用:

InnoDB对空间使用程度较高,MyISAM和MEMORY对空间使用程度较低。

4、内存使用:

InnoDB和MEMORY对内存使用程度较高,MyISAM对内存使用程度较低。

5、插入数据的速度:

InnoDB插入数据的速度较低,MyISAM和MEMORY插入数据的速度较高。

6、对外键的支持:

InnoDB对外键支持情况较好,MyISAM和MEMORY两个不支持外键。

三种引擎特点如下:

1、InnoDB存储引擎

InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),其它存储引擎都是非事务安全表,支持行锁定和外键,MySQL5.5以后默认使用InnoDB存储引擎。

InnoDB特点: 支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。

如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。

2、MyISAM存储引擎 

MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务,不支持外键。

MyISAM特点: 插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用

3、MEMORY存储引擎 

MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。

MEMORY特点: 所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。

它对表的大小有要求,不能建立太大的表。所以,这类数据库只使用在相对较小的数据库表。

扩展资料:

mysql其余不太常见的存储引擎如下:

1、BDB: 源自Berkeley DB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性

2、Merge :将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用

3、Archive :非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差

4、Federated: 将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用

5、Cluster/NDB :高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用

6、CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个.CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。

7、BlackHole :黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继

参考资料:百度百科-存储引擎

Mysql数据库3种存储引擎有什么区别?
Mysql数据库3种存储(MyISAM、MEMORY、InnoDB)引擎区别:1、Myisam是Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。MEMORY、InnoDB不是默认存储引擎。2、InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一...

Mysql数据库3种存储引擎有什么区别?
MySQL常见的三种存储引擎为InnoDB、MyISAM和MEMORY。其区别体现在事务安全、存储限制、空间使用、内存使用、插入数据的速度和对外键的支持。具体如下:1、事务安全:InnoDB支持事务安全,MyISAM和MEMORY两个不支持。2、存储限制:InnoDB有64TB的存储限制,MyISAM和MEMORY要是具体情况而定。3、空间使用:InnoDB...

MySQL引擎对比三种引擎的异同mysql三种引擎区别
MySQL是最常用的关系型数据库管理系统,在MySQL中,有三种常用的存储引擎:InnoDB、MyISAM和MEMORY。虽然它们都是用来处理数据的,但它们之间也有很多的区别和不同。本文将对这三种引擎的异同进行详细的介绍和比较。1. InnoDB引擎 InnoDB引擎是MySQL的默认引擎,它是一种支持事务的存储引擎。它具有很高的可靠...

MySQL三种不同储存引擎概述mysql三种储存引擎
3. Memory储存引擎 Memory是MySQL提供的一种基于内存的临时储存引擎,用于存储临时数据和缓存。这种引擎将表数据直接保存在内存中,而不是硬盘上,因此可以提高数据检索的速度。但是,由于它是基于内存的,一旦重启MySQL服务器,内存中的所有信息都会丢失。在使用Memory时,需要考虑以下几点:– Memory...

MySQL三类常见引擎mysql三种常见的引擎
MySQL:三类常见引擎 MySQL 是一款非常流行的关系型数据库管理系统,被广泛应用于各种应用程序的数据存储和操作。MySQL 的一个重要特点是它支持多种不同的存储引擎,包括 InnoDB、MyISAM 和 Memory(也称为 Heap)。这些存储引擎各具特点,适用于不同的应用场景。1. InnoDB InnoDB 是 MySQL 的默认存储...

MySQL的三种引擎MyISAMInnoDBMemory内存的比较与优缺点分析mysql三个...
InnoDB引擎是MySQL中比较流行的存储引擎,它是一种支持事务处理的引擎。在大多数应用程序中,InnoDB比MyISAM更为适合,尤其是在有大量写操作的情况下。InnoDB具有以下优点:1.支持事务:InnoDB支持事务处理,确保了数据的完整性和一致性。2.采用行级锁:InnoDB采用行级锁定,可以允许多个写操作和读操作同时...

MySQL三大引擎选择适合自己的数据库存储方式mysql三大引擎
2. MyISAM MyISAM是MySQL默认的非事务型存储引擎。它支持全文索引、空间函数和压缩表等功能,具有高效的读取速度和较小的存储空间占用量。但是,MyISAM不支持事务,也不支持行级锁和外键约束,容易出现数据不一致问题。此外,MyISAM不支持数据库的自动崩溃恢复功能。3. MEMORY MEMORY是MySQL的一种存储引...

MySQL的三种存储引擎及其特点介绍mysql三种存储引擎
1. MyISAM存储引擎 MyISAM是MySQL中最常见的存储引擎之一。它使用表级锁定机制,支持高并发性和快速读写操作。MyISAM将表保存为三个不同的文件:.frm(表结构)、.MYD(数据)和.MYI(索引)。其中,数据和索引文件分别存储表的数据和索引信息,可以分别备份和恢复。MyISAM还支持全文搜索和压缩表,...

Mysql数据库3种存储引擎有什么区别
最常使用的2种存储引擎:1.Myisam是Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD(MYData,存储数据)、.MYI(MYIndex,存储索引)。数据文件和索引文件可以放置在不...

MySQL存储引擎区别简介mysql不同引擎区别
MySQL存储引擎区别简介 MySQL是一个开源SQL数据库管理系统,已经成为了行业中使用最多的关系型数据库之一。它支持不同的存储引擎,如MyISAM、InnoDB、Memory、CSV、Archive等等。本文将简要介绍MySQL中常见的存储引擎之间的区别。1. MyISAM MyISAM是MySQL最古老的存储引擎之一,它是一个不支持事务的存储引擎...

相似回答
大家正在搜