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

作者&投稿:戈胞 (若有异议请与网页底部的电邮联系)
~

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做复制的中继

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




数据库有哪几种
1、MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS应用软件之一。2、SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家...

登陆mysql数据库的几种方式
MySQL的几种登陆方式 登录方式一:[root@001 tmp]# mysql -h 127.0.0.1 -u root -p 这是最标准的登录方式,意指通过tTCP\/IP协议进行连接,因为我是本地安装,所以-h的参数是127.0.0.1,也可以写成localhost 接着-u的参数是root,也就是说我以root用户登录 最后-p代表密码,如果你按下...

mysql图形化工具包括
3. Navicat for MySQL:Navicat for MySQL是一款强大的数据库管理和开发工具,支持多种数据库连接,包括MySQL、MariaDB等。它提供了丰富的数据库管理功能,如数据建模、数据导入导出、数据库备份和恢复等。Navicat还以其直观的图形界面和高效的性能优化工具而受到开发者的喜爱。4. HeidiSQL:HeidiSQL是一款...

MySQL数据库的简介
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大...

如何正确合理的建立MYSQL数据库索引
MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:CREATE TABLE mytable( IDINTNOT NULL, username VARCHAR(16) NOT NULL ); 我们随机向里面插入了10000条记录,其中有一条:5555, admin。在查找...

MySQL数据库存储引擎详解
你可以使用很多方法指定一个要使用的存储引擎 最简单的方法是 如果你喜欢一种能满足你的大多数数据库需求的存储引擎 你可以在MySQL设置文件中设置一个默认的引擎类型(使用storage_engine 选项)或者在启动数据库服务器时在命令行后面加上 default storage engine或 default table type选项 更灵活的方式是在随MySQL服务...

数据库有哪几种
5、MySQL数据库 MySQL数据库管理系统是由瑞典的MySQLAB公司开发的,但是几经辗转,现在是Oracle产品。它是以“客户/服务器”模式实现的,是一个多用户、多线程的小型数据库服务器。而且MySQL是开源数据的,任何人都可以获得该数据库的源代码并修正MySQL的缺陷。6、Sybase数据库 美国Sybase公司研制的一种...

数据库分为哪几种版本
2、源数据库(Source databases),指能憨接提供所需原始资料或具体数据的数据库。; 3、混合型数据库(Mixed databases),能同时存贮多种类型数据的数据库。 按数据结构来分类,有三种: 1、层次式数据库 2、网络式数据库 3、关系式数据库 问题二:数据库有哪几种? 常用的数据库:oracle、sqlserver、mysql、...

数据库软件都有那些?
MySQL 号称是使用最广泛的开源数据库,而 PG 则被称为功能最强大的开源数据库。3、Microsoft SQL Server。SQL Server 是 Microsoft 开发的一个关系数据库管理系统(RDBMS),现在是世界上最为常用的数据库。SQL Server 现在是包括内置的商务智能工具,以及一系列的分析和报告工具,可以创建数据库、备份、...

什么是数据库?数据库的分类?MySQL属于哪种?
数据库就是指数据库管理系统:主要指信息时代专门存储管理信息数据的软件系统。分类可分关系型数据库、网状数据库和层次型数据库什么的。但是大家广泛接触的还是关系型数据库(信息数据主要可以二维表格模式展示的数据库)如:oracle、sqlserver、db2、access、foxpro等吧。mysql是个小型关系型数据库。

贡山独龙族怒族自治县13242892696: MySQL存储引擎通常有哪3种?各自分别有什么特点 -
寇向溃疡: MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE.MySQL支持数个存储引擎作...

贡山独龙族怒族自治县13242892696: Mysql数据库3种存储引擎有什么区别 -
寇向溃疡: 这个是考虑性能的问题,还有事务的支持,吧 百度一下你就知道 MyISAM、InnoDB、Heap(Memory)、NDB 貌似一般都是使用 InnoDB的,mysql的存储引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、...

贡山独龙族怒族自治县13242892696: MySQL数据库引擎MyISAM和InnoDB的区别介绍 -
寇向溃疡: MySQL数据库有多种存储引擎:比如:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE等等,最常见的也就是MyISAM和InnoDB了,下面主要讲解下MyISAM...

贡山独龙族怒族自治县13242892696: mysql中myisam,innodb和memory三个存储引擎的区别 -
寇向溃疡: 1、区别: 1) MyISAM管理非事务表.提供高速存储和检索,以及全文搜索能力.MyISAM在所有MySQL配置里被支持,是默认的存储引擎,除非配置MySQL默认使用另外一个引擎. 2)MEMORY存储引擎提供“内存中”表.MERGE存储引擎允...

贡山独龙族怒族自治县13242892696: MySQL的数据库引擎的类型及区别有哪些?
寇向溃疡: 数据库引擎INNODB和BERKLEYDBINNODB和BERKLEYDB(BDB)数据库引擎都是造就MYSQL灵活性的技术的直接产品,这项技术就是MYSQL++API

贡山独龙族怒族自治县13242892696: mysql到底用哪一款存储引擎 -
寇向溃疡: MyISAM:拥有较高的插入,查询速度,但不支持事务InnoDB:5.5版本后Mysql的默认数据库,事务型数据库的首选引擎,支持ACID事务,支持行级锁定BDB:源自BerkeleyDB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事...

贡山独龙族怒族自治县13242892696: Mysql中什么是存储引擎 -
寇向溃疡: 什么是存储引擎?关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式.有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数...

贡山独龙族怒族自治县13242892696: 如何查看mysql数据库的引擎/MySQL数据库引擎详解 -
寇向溃疡: 查看当前表的默认存储引擎,可以使用如下图所示的命令.查询之后,我们可以查看笔者这里这个表默认的存储引擎是:InnoDB.如果我们想知道当前MySQL提供什么存储引擎,可以使用如下图所示的命令.通过查询我们知道,笔者所安装的...

贡山独龙族怒族自治县13242892696: mysql myisam 支持事务吗 -
寇向溃疡: 首先要了解数据库里的事务是什么意思.事务在计算机数据库里 :在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit).在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序.简单的讲 ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网