MySQL存储引擎

查看数据库当前使用的存储引擎:show engines;

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

MySQL的核心就是插件式存储引擎。

在MySQL中默认支持的存储引擎有8个。federated 不支持。主要用来提供对远程MySQL服务器上面的数据的访问接口。

在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。上面Support列的值表示某种引擎是否能启用:YES表示已经启用、NO表示没有启用、DEFAULT表示该引擎为当前默认的存储引擎。

  1. InnoDB 默认的存储引擎,也是所有存储引擎中唯一支持事务、XA协议的存储引擎。

  2. MyISAM 基于ISAM(Indexed Sequential Access Method目前已经废弃)的存储引擎,特点是查询效率较高。但不支持事务和容错性。

  3. MEMORY 纯内存型型存储引擎。所有数据都在内存中,硬盘只存储.frm文件。所以当MySQL宕机或非法关闭时只生效表结构。当然了,由于所有数据都在内存上,所以相对来说性能较高。

  4. MRG_MYISAM 以前也叫MERGE,简单理解就是对MyISAM表做了特殊的封装,对外提供单一访问入口,减少程序的复杂性。

  5. ARCHIVE存储引擎主要用于通过较小的存储空间来存放过期的很少访问的历史数据。ARCHIVE表不支持索引,通过一个.frm的结构定义文件,一个.ARZ的数据压缩文件还有一个.ARM的meta信息文件。由于其所存放的数据的特殊性,ARCHIVE表不支持删除,修改操作,仅支持插入和查询操作。

  6. BLACKHOLE 俗称"黑洞"存储引擎。是一个非常有意思的存储引擎。所有的数据都是有去无回。

  7. CSV存储引擎实际上操作的就是一个标准的CSV文件,他不支持索引。起主要用途就是大家有些时候可能会需要通过数据库中的数据导出成一份报表文件,而CSV文件是很多软件都支持的一种较为标准的格式,所以我们可以通过先在数据库中建立一张CSV表,然后将生成的报表信息插入到该表,即可得到一份CSV报表文件了。

  8. PERFORMANCE_SCHEMA 从MySQL 5.6新增的存储引擎。主要用于收集一些系统参数。

官方文档参考地址:https://dev.mysql.com/doc/refman/8.0/en/storage-engines.html

相关推荐
婪苏(Python学习ing)26 分钟前
MySQL 与 Redis 基础入门:从安装到核心操作
数据库
幻灭行度1 小时前
通过redis_exporter监控redis cluster
数据库·redis·缓存
Wang's Blog1 小时前
Nestjs框架: 基于Mongodb的多租户功能集成和优化
数据库·mongodb·多租户
Edingbrugh.南空2 小时前
Aerospike架构深度解析:打造web级分布式应用的理想数据库
数据库·架构
Cxzzzzzzzzzz3 小时前
数据库索引详解:原理、设计原则与应用场景
数据库·mysql
Alla T3 小时前
【通识】数据库
数据库·oracle
烙印6014 小时前
MySQL的底层原理--InnoDB数据页结构
java·数据库·mysql
betazhou5 小时前
SQL server 2019删除重建用户
数据库·sql server
MickeyCV5 小时前
MySQL数据库本地迁移到云端完整教程
服务器·数据库·mysql·oracle
IT邦德5 小时前
OGG同步Oracle到Kafka不停库,全量加增量
数据库·oracle·kafka