视频加载失败

MySQL之存储引擎

426 字
2 分钟
MySQL之存储引擎

【一】什么是存储引擎#

  • 日常生活中文件格式有很多,并且针对不同的文件格式会有对应不同的存储方式和处理机制
  • 针对不同的数据应该有对应的不同的处理机制

存储引擎就是不同的处理机制

【二】MySQL主要的存储引擎#

【1】Innodb#

  • 是MySQL5.5版本之后的默认存储引擎
  • 支持事务/行锁/外键

【2】myisam#

  • 是MySQL5.5版本之前的默认存储引擎
  • 速度比innodb快,但是数据安全较弱

【3】memory#

  • 内存引擎
  • 数据全部存放在内存中
  • 存储速度快,但是断电数据丢失

【4】blackhole#

  • 黑洞引擎
  • 无论存什么都会立刻消失

【5】查看所有的数据库存储引擎#

show engines;

【三】不同的存储引擎存储数据的异同点#

【1】建表#

create table t1(id int) engine=innodb;
create table t2(id int) engine=myisam;
create table t3(id int) engine=blackhole;
create table t4(id int) engine=memory;

【2】文件说明#

(1)Innodb#

  • t1.frm
    • 表结构
  • t1.ibd
    • 表结构

Innodb:默认的引擎

(2)myisam#

  • t2.frm
    • 表结构
  • t2.MYD
    • 表数据
  • t2.MYI
    • 索引(index),类似于书的目录,基于目录查找数据的速度会很快

myisam<数据具有索引>,读取数据快

(3)blackhole#

  • t3.frm
    • 表结构

blackhole<黑洞引擎>,存什么数据都会消失

(4)memory#

  • t4.frm
    • 表结构

memory<数据缓存到内存>

【3】存储数据#

insert into t1 values(1);
insert into t2 values(1);
insert into t3 values(1);
insert into t4 values(1);

【4】查看数据#

select * from t1;
select * from t2;
select * from t3;
select * from t4;

(1)blackhole 不存储数据#

  • 可以发现除了黑洞引擎,其他引擎所在的表内都存在数据

(2)memory 数据是存在内存中#

  • memory 数据是存在内存中的,如何印证?
    • 重启mysql服务

  • 可以发现memory 表中的数据已经不存在了

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
MySQL之存储引擎
https://firefly.cuteleaf.cn/posts/database/mysql/60mysql之存储引擎/
作者
Dream
发布于
2023-06-23
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Dream
Hello, I'm Dream.
公告
欢迎来到我的博客!爱学习爱进步。
分类
标签
最新动态
站点统计
文章
300
分类
5
标签
26
总字数
640,882
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Vercel
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录