MySQL-存储引擎

时间:2021-09-07 00:17:50   收藏:0   阅读:22

简述

在MySQL数据库中,数据使用各种不同的技术转储在文件或内存中,这种技术或功能就称为存储引擎。

查看存储引擎信息

查看MySQL中支持的存储引擎

show engines;

查看当前默认正在使用的存储引擎

show variables like ‘storage_engine‘;

常用存储引擎类型

MyISAM

不支持事务,也不支持外键。访问速度快。

磁盘文件

每个MyISAM存储引擎的表,在磁盘上存储为3个文件,文件名和表名相同,扩展名如下:

MyISAM 的表数据和索引数据是分开存储的。

适合的场景

InnoDB

支持事务,支持外键约束,

磁盘文件

InnoDB 的表数据与索引数据是存储在一起的,都位于 B+ 数的叶子节点上

适合的场景

Memory

Memory存储引擎将表的数据存放在内存中。每个MEMORY表实际对应一个磁盘文件,格式是.frm ,该文件中只存储表的结构,而其数据文件,都是存储在内存中,这样有利于数据的快速处理,提高整个表的效率。MEMORY 类型的表访问非常地快,因为他的数据是存放在内存中的,并且默认使用HASH索引 , 但是服务一旦关闭,表中的数据就会丢失。

磁盘文件

每个 MEMORY 表实际只对应一个磁盘文件,格式是 .frm。它只保存表结构

MERGE

MERGE 存储引擎是一组 MyISAM 表的组合,MERGE 表本身没有数据,对 MERGE 类型的表进行查询、更新、删除的操作,实际上是对内部的 MyISAM 表进行的。

磁盘文件

MERGE 表在磁盘上保留两个文件,一个是 .frm 文件存储表定义、一个是 .MRG 文件存储 MERGE 表的组成。

Archive

ARCHIVE存储引擎只支持INSERT和SELECT操作。

磁盘文件
适合场景

CSV

csv表允许以csv格式导入或转储数据

磁盘文件

原文:https://www.cnblogs.com/binliubiao/p/15233275.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!