首页
学习
活动
专区
圈层
工具
发布

mysql的几种存储引擎

MySQL是一种广泛使用的关系型数据库管理系统,它支持多种存储引擎,每种引擎都有其特定的优势和适用场景。以下是MySQL中几种主要的存储引擎:

1. InnoDB

  • 基础概念:InnoDB是MySQL的默认存储引擎,它支持事务处理、行级锁定和外键约束。
  • 优势:提供ACID事务支持,适合需要高并发读写操作的应用。
  • 应用场景:适用于大多数在线事务处理(OLTP)系统,如电子商务网站、银行系统等。
  • 问题与解决:在高并发环境下,可能会遇到锁竞争问题。可以通过优化查询、使用索引、调整事务隔离级别等方式来解决。

2. MyISAM

  • 基础概念:MyISAM是MySQL的一个旧存储引擎,不支持事务处理。
  • 优势:读取速度快,占用空间小。
  • 应用场景:适用于读取操作远多于写入操作的场景,如数据仓库、日志系统等。
  • 问题与解决:不支持事务,不适合需要数据一致性的应用。数据文件和索引文件可能会因为意外中断而损坏,需要定期备份。

3. Memory

  • 基础概念:Memory存储引擎将数据存储在内存中,因此读写速度非常快。
  • 优势:极高的读写速度,适合临时表和缓存。
  • 应用场景:适用于需要快速读写的小型数据集,如临时表、缓存表等。
  • 问题与解决:数据存储在内存中,一旦服务器重启,所有数据都会丢失。需要定期将数据持久化到磁盘。

4. NDB (MySQL Cluster)

  • 基础概念:NDB是MySQL Cluster的存储引擎,支持分布式事务和高可用性。
  • 优势:高可用性、高并发处理能力,适合大规模分布式系统。
  • 应用场景:适用于需要高可用性和高并发处理的场景,如在线游戏、实时分析系统等。
  • 问题与解决:配置和管理相对复杂,需要专业的运维团队。可能会遇到网络延迟和数据一致性问题。

5. Archive

  • 基础概念:Archive存储引擎主要用于存储大量不常访问的历史数据。
  • 优势:高效的插入和压缩能力,适合存储归档数据。
  • 应用场景:适用于日志归档、历史数据存储等。
  • 问题与解决:不支持索引,查询速度较慢。需要定期进行数据清理和维护。

6. CSV

  • 基础概念:CSV存储引擎将数据存储在CSV文件中,便于与其他系统进行数据交换。
  • 优势:简单易用,便于数据导入导出。
  • 应用场景:适用于需要与其他系统进行数据交换的场景,如数据导入导出、数据备份等。
  • 问题与解决:不支持事务和索引,查询速度较慢。需要定期进行数据清理和维护。

7. Blackhole

  • 基础概念:Blackhole存储引擎接收数据但不存储,主要用于日志记录和数据复制。
  • 优势:占用空间小,适合日志记录和数据复制。
  • 应用场景:适用于需要记录数据但不需要实际存储的场景,如数据复制、日志记录等。
  • 问题与解决:不存储数据,无法进行数据查询和分析。需要确保数据在其他地方有备份。

总结

选择合适的存储引擎取决于具体的应用需求。InnoDB是最常用的存储引擎,适合大多数OLTP系统;MyISAM适合读取密集型应用;Memory适合临时表和缓存;NDB适合高可用性和高并发处理的场景;Archive适合存储归档数据;CSV适合数据交换;Blackhole适合日志记录和数据复制。

更多关于MySQL存储引擎的详细信息和配置,可以参考MySQL官方文档:

希望这些信息对你有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MySQL的几种常用存储引擎

MySQL有9种存储引擎,不同的引擎,适合不同的场景,我们最常用的,可能就是InnoDB,应该是从5.5开始,就成为了MySQL的默认存储引擎。...show engines可以查询MySQL支持的这几种存储引擎,从表头能看出来倾向,都写YES的就是InnoDB, 借老杨这篇文章《知识篇 | MySQL常用存储引擎MyISAM、InnoDB和MEMORY...InnoDB存储引擎 InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,InnoDB是默认的MySQL引擎。...他的CPU效率可能是任何其他基于磁盘的关系型数据库引擎锁不能匹敌的。 (3) InnoDB存储引擎完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持他自己的缓冲池。...MySQL三种存储引擎推荐列表,

6.6K22

mysql几种存储引擎介绍

对于MySQL来说,它提供了很多种类型的存储引擎,我们可以根据对数据处理的需求,选择不同的存储引擎,从而最大限度的利用MySQL强大的功能。...MyISAM表无法处理事务,这就意味着有事务处理需求的表,不能使用MyISAM存储引擎。MyISAM存储引擎特别适合在以下几种情况下使用: 1.选择密集型的表。...InnoDB存储引擎特别适合处理多重并发的更新请求。 2.事务。InnoDB存储引擎是支持事务的标准MySQL存储引擎。 3.自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。...一般在以下几种情况下使用Memory存储引擎: 1.目标数据较小,而且被非常频繁地访问。...总结 这篇文章总结了几种比较常用的存储引擎,对于实际的工作,需要根据具体的情况而定,结合实际的项目实例进行应用,才是最好的学习方法。

1.1K40
  • MySQL的InnoDB存储引擎支持哪几种行格式?

    在InnoDB存储引擎中,常见的行格式主要包括以下四种: COMPACT:在MySQL 5.0之前是默认的格式,除了存储字段值外,还会利用空值列表来保存null值,同时记录变长字段长度列表和记录头信息。...REDUNDANT:在MySQL 5.0版本之前,InnoDB使用的行记录存储方式,较少使用。Redundant 行格式会将该记录中所有列(包括隐藏列)的长度信息存储在“字段长度偏移列表”中。...image.png DYNAMIC:MySQL 5.7版本引入的DYNAMIC格式是COMPACT格式的升级版本。...其结构与COMPACT格式大致相似; COMPRESSED:作为MySQL 5.1中InnoDB的新增特性之一,压缩功能能够减小数据在磁盘上的占用空间。...BARRACUDA:作为MySQL 5.7引进的一种新格式,相较于前述格式,支持更多高级特性,包括动态行格式、逐行压缩以及空间管理等功能。

    81510

    【MySQL】MySQL的存储引擎

    不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。现在 许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。...用户可以 根据不同的需求为数据表选择不同的存储引擎 可以使用 SHOW ENGINES 命令 可以查看Mysql的 所有执行引擎我们 可以到 默认的执行引擎是innoDB 支持事务,行级锁定和外键。...分类  MyISAM:Mysql 5.5之前的默认数据库引擎,最为常用。...拥有较高的插入,查询速度,但不支持事 务 InnoDB:事务型速记的首选引擎,支持ACID事务,支持行级锁定,MySQL5.5成为默认数据库引 擎 Memory: 所有数据置于内存的存储引擎,拥有极高的插入...MySQL默认存储引擎方法 1.

    6.8K20

    MySQL有哪些存储引擎(MySQL存储引擎大全)

    MyISAM在所有MySQL版本里被支持;不支持事务处理;它是MySQL的默认的存储引擎; MEMORY MEMORY存储引擎,别称HEAP存储引擎;提供“内存中”表,将数据存储在内存中。...MEMORY存储引擎不支持事务处理;MySQL的所有版本都支持InnoDB存储引擎;注释:MEMORY存储引擎正式地被确定为HEAP引擎。...你可以用这个引擎创建表,但没有数据被存储于其中或从其中检索。这个引擎的目的是服务,在MySQL源代码中的一个例子,它演示说明如何开始编写新存储引擎。同样,它的主要兴趣是对开发者。...NDB NDB存储引擎,别名NDBCLUSTER;NDB Cluster是被MySQL Cluster用来实现分割到多台计算机上的表的存储引擎。它在MySQL-Max 5.1二进制分发版里提供。...这个存储引擎当前只被Linux, Solaris, 和Mac OS X 支持。在未来的MySQL分发版中,我们想要添加其它平台对这个引擎的支持,包括Windows。

    8.4K41

    MySQL存储引擎

    存储引擎的选择为不同的业务表选择不同的存储引擎,例如:查询操作多的业务表,用 MyISAM。临时数据用 Memeroy。常规的并发大更新多的表用 InnoDB。...字段定义原则:使用可以正确存储数据的最小数据类型。为每一列选择合适的字段类型。整数类型INT 有 8 种类型,不同的类型的最大存储范围是不一样的。性别?...比如在业务系统中,要记录所有接收和发送的消息,这个消息是 XML 格式的,用blob 或者 text 存储,用来追踪和判断重复,可以建立一张表专门用来存储报文。...为什么同样用 MySQL,有的公司可以抗住百万千万级别的并发,而有的公司几百个并发都扛不住,关键在于怎么用。所以,用数据库慢,不代表数据库本身慢,有的时候还要往上层去优化。...当然,如果关系型数据库解决不了的问题,我们可能需要用到搜索引擎或者大数据的方案了,并不是所有的数据都要放到关系型数据库存储。

    1.2K10

    MySQL存储引擎

    定义 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。...不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。...常用的MySQL存储引擎 InnoDB InnoDB 是 MySQL 默认的事务型存储引擎,只有在需要 InnoDB 不支持的特性时,才考虑使用其它存储引擎。...采用 MVCC 来支持高并发,并且实现了四个标准的隔离级别,默认级别是可重复读。 表是基于聚簇索引建立的,它对主键的查询性能有很高的提升。...MyISAM 设计简单,数据以紧密格式存储,所以在某些场景下性能很好。 比较 事务:InnoDB 是事务型的。 备份:InnoDB 支持在线热备份。

    2.6K40

    【MySQL高级】MySQL的存储引擎

    概念 据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、 更新和删除数据。 不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。...现在许多 不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。...用户可以根据 不同的需求为数据表选择不同的存储引擎 可以使用 SHOW ENGINES 命令 可以查看Mysql的所有 执行引擎我们 可以到 默认的执行引擎是innoDB 支持事务,行级锁定和外键。...拥有较高的插入,查询速度,但不支持事务 InnoDB:事务型速记的首选引擎,支持ACID事务,支持行级锁定,MySQL5.5成为默认数据库引擎 Memory: 所有数据置于内存的存储引擎,拥有极高的插入...MySQL默认存储引擎方法 1.

    1.8K50

    MySQL 存储引擎

    # MySQL 存储引擎 学习视频地址 (opens new window) MySQL 体系结构 存储引擎介绍 存储引擎特点 InnoDB MyISAM Memory 区别及特点 存储引擎选择 #...引擎层 存储引擎层, 存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API和存储引擎进行通 信。不同的存储引擎具有不同的功能,这样我们可以根据自己的需要,来选取合适的存储引擎。...而对于存储引擎,也是一样,他是mysql数据库的核心,我们也需要在合适的场景选择合适的存储引 擎。接下来就来介绍一下存储引擎。 存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式 。...# InnoDB 介绍 InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在 MySQL 5.5 之后,InnoDB是默认的 MySQL 存储引擎。...# MyISAM 介绍 MyISAM是MySQL早期的默认存储引擎。

    3.4K20

    mysql存储引擎

    MySQL5.5以后默认使用InnoDB存储引擎,其中InnoDB和BDB提供事务安全表,其它存储引擎都是非事务安全表。...在MySQL5.1以 后,INFORMATION_SCHEMA数据库中存在一个ENGINES的表,它提供的信息与show engines;语句完全一样,可以使用下面语句来查询哪些存储引擎支持事物处理:...(二)InnoDB InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。...2)外键约束: MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。      ...VARCHAR是一种长度可变的类型,但因为它在MySQL内部当作长度固定不变的CHAR类型,所以可以使用。

    1.9K40

    MySQL存储引擎

    show engines; 查看支持的存储引擎。...mysql表的存储引擎: InnoDB myISAM Memory MRG_MYISAM archive federated,CSV,BLACKHOLE 1、InnoDB 支持事务和外键...,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,注意间隙锁的影响 存储: InnoDB,基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB...,尽可能减少磁盘 IO .frm 文件存储的是数据表的表结构信息 .ibd 存储的是数据表的索引信息及数据 2、MYISAM 事务和外键: 不支持事务和外键 MyISAM管理非事务表。...,随机存储,只能缓存索引 并发: MyISAM读写互相阻塞:不仅会在写入的时候阻塞读取,MyISAM还会在读取的时候阻塞写入,但读本身并不会阻塞另外的读 场景选择?

    2.1K30

    MySQL存储引擎

    数据库存储引擎是数据库管理系统用于从数据库进行增删改查数据的底层软件组织。不同存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。 在MySQL 5.5.5以后,InnoDB作为其默认存储引擎。...查看存储引擎 MySQL提供了多种不同的存储引擎,具体可通过如下命令进行查看: SHOW ENGINES;Copy 结果: mysql> SHOW ENGINES; +-----------------...存储引擎的选择 不同存储引擎有不同的特点,以适应不同的需求。...MyISAM主要用于数据表的插入、查询。 MEMORY引擎则适用于临时存放数据、数据量不大的情况。 Archive支持高并发的插入,但是本身并不是事务安全的。适用于存储归档数据。...温馨提示 一个数据库中的多个表可以使用不同的引擎以满足各种性能和实际需求,可灵活选择。

    4K10

    Mysql存储引擎

    当别人问我Mysql的存储引擎的时候,我就知道Myisam和innodb 虽然知道有其他的存储引擎,但是从来没有去了解过今天了解一下扩充知识 查看Mysql的存储引擎 show engines; MyISAM...Mysql 5.5之前默认的存储引擎 MyISAM存储引擎由MYD和MYI组成 ?  ...适用场景: 非事物型应用(数据仓库,报表,日志数据) 只读类应用 空间类应用(空间函数,坐标) INNODB MySql5.5以及以后版本默认的存储引擎 innodb_file_per_table   ...接下来的了解一下就可以 存储引擎CSV 组成  数据以文本方式存储在文件  .csv文件存储内容 .csm文件存储表的元数据如表状态和数据量 .frm存储表结构 ?  ...特点:   提供了远程访问Mysql服务器上的表的方法   本地不存储数据,数据全部放到远程服务器上   本地需要保存表结构和远程服务器的链接信息  使用场景:   偶尔的统计分析及手工查询 这个存储引擎默认是不开启的如果需要使用需要手动开启

    4.4K20

    Mysql存储引擎

    前言 MySQL提供了插件式的存储引擎架构。所以MySQL存在多种存储引擎,可以根据需要使用相应的引擎。MySQL支持的存储引擎有很多,常用的是:InnoDB,MyISAM。...:  查看Mysql数据库的默认引擎指令: show variables like '%storage_engine%'; 1.1 InnoDB InnoDB存储引擎是Mysql的默认引擎。...外键约束 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候,也会自动的创建对应的索引。...1.3 MEMORY Memory存储引擎将表的数据存放在内存中。这样有利于数据的快速处理,提高整个表的效率。...insert into student_all values(3,'幸运'); 总结 对于存储引擎的选择,根据业务需求对应各个存储引擎的特征进行选择即可。

    1.7K20

    MySQL存储引擎

    文章目录 MySQL存储引擎 一、查看修改存储引擎 二、主要引擎介绍 1、MyISAM引擎 2、InnoDB 引擎 3、MEMORY 引擎 MySQL存储引擎 一、查看修改存储引擎 查看mysql提供什么存储引擎...systemctl restart mysqld.service 创建表时指定存储引擎: CREATE TABLE 表名( 建表语句; ) ENGINE = 存储引擎名称; 修改表的存储引擎: ALTER...TABLE 表名 ENGINE = 存储引擎名称; 二、主要引擎介绍 不同引擎的本质上是数据库数据存储的结构方式不同 在不同的数据下数据库储存有不同的需求,所以需要不同的引擎 种类 锁机 制 B/B...,支持事物,存储数据更加安 InnoDB的数据存储结构: 表名.frm 存储表结构(MySQL8.0时,合并在表名.ibd中) 表名.ibd 存储数据和索引 注:索引采用聚集索引,索引和数据存储在同一个文件...;InnoDB不仅缓存索引还要缓存真实数据, 对内存要求较高 ,而且内存大小对性能有决定性的影响 注:MySQL5.5之后,默认采用InnoDB引擎 3、MEMORY 引擎 主要特点: Memory同时

    3.6K40

    【MySQL】存储引擎

    目录 1.MySQL体系结构 2.存储引擎介绍 3.存储引擎特点 4.存储引擎选择 1.MySQL体系结构 MySQL整体的逻辑结构可以分为4层,客户层、服务层、存储引擎层、数据层 客户层 客户层:进行相关的连接处理...触发器、视图等也在这一层 存储引擎层 存储引擎层负责对数据的存储和提取,常见的存储引擎有InnoDB、MyISAM、Memory等,在 MySQL5.5之后,MySQL默认的存储引擎就是InnoDB,InnoDB...默认使用的索引结构就是B+树,上面 的服务层就是通过API接口与存储引擎层进行交互的 数据层 数据层系主要包括MySQL中存储数据的底层文件,与上层的存储引擎进行交互,是文件的物理存 储层。...而对于存储引擎,也是一样,他是mysql 数据库的核心,我们也需要在合适 的场景选择合适的存储引擎。接下来就来介绍一下存储引擎。...介绍 InnoDB 是一种兼顾高可靠性和高性能的通用存储引擎,在 MySQL 5.5 之后, InnoDB 是默认的 MySQL 存储引擎。 2).

    4.4K21

    MySQL的常见存储引擎

    1.存储引擎:存储数据,为存储的数据建立索引,更新、查询数据。 2.因为在关系数据库中数据以表的形式存储,所以,存储引擎也可以称为表类型。...3.查看当前MySQL数据库支持的存储引擎:show engines; 或者show variablkes like 'have%';。...InnoDB存储引擎是支持事务的标准MySQL存储引擎。 自动灾难恢复。 与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。 外键约束。 MySQL支持外键的存储引擎只有InnoDB。...MyISAM表无法处理事务,这就意味着有事务处理需求的表,不能使用MyISAM存储引擎。MyISAM存储引擎特别适合在以下几种情况下使用: 选择密集型的表。...2)MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性较高的应用 3)InnoDB支持外键,MyISAM不支持 4)从MySQL5.5.5以后,InnoDB是默认引擎 5)

    1.2K20

    MySQL中的存储引擎

    mysql存储引擎概述 什么是存储引擎? MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。...MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。...使用MySQL,我们仅需要修改我们使用的存储引擎就可以了 mysql支持哪些存储引擎?   ...各种存储引擎的特性 概览   MySQL服务器采用了多层设计和独立模块,插件式存储引擎体系结构,允许将存储引擎加载到正在运新的MySQL服务器中,图中的Pluggable Storage Engines...同时,所有的跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等。   第三层包含了存储引擎。存储引擎负责MySQL中数据的存储和提取。服务器通过API和存储引擎进行通信。

    2.6K20

    3,mysql的存储引擎

    1,什么是存储引擎,存储引擎说白了就是如何存储数据,如何为存储的数据建立索引和如何更新,查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以成为表类型。...在Oracle和SQL Server等数据库中只有一个存储引擎,所有的数据存储管理机制都是一样的。...MySQL数据库提供了多种存储引擎,用户可以根据不同的需求为数据库表选择不同的存储引擎,也可以根据自己的需要编写自己的存储引擎。...2,如何选择存储引擎: InnoDB存储引擎:用于事务处理应用程序,具有众多特性 MyISAM存储引擎:主要用于管理费事务表,它提供高速存储和检索,以及全文搜索能力 MEMORY存储引擎:提供“内存中”...表,MEMORY存储引擎的所有数据都在内存中,数据的处理速度快,但安全性不高(用于相对较小的数据库表)

    97810
    领券