【从删库到跑路】MySQL数据库的 存储引擎

专栏【MySQL】
喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
音乐分享【如愿】
欢迎并且感谢大家指出小吉的问题

文章目录

  • 存储引擎简介
  • 查询当前数据库支持的存储引擎
  • 创建表并指定存储引擎
  • 默认存储引擎(重要)
    • ✨InnoDB简介
    • ✨InnoDB特点
    • ✨InnoDB文件
      • 查看InnoDB文件
    • ✨InnoDB特点
  • MyISAM存储引擎
    • ✨MyISAM介绍
    • ✨MyISAM特点
    • ✨MyISAM文件
  • Memory存储引擎
    • ✨Memory介绍
    • ✨Memory特点
    • ✨Memory文件
  • 如何选择存储引擎
  • ️‍总结

【从删库到跑路】MySQL数据库的 存储引擎_第1张图片

存储引擎简介

存储引擎就是存储数据,建立索引,更新,查询数据等技术的实现方式。
存储引擎是基于表的,而不是基于库的,所以存储引擎也被称为表类型。

查询当前数据库支持的存储引擎

show engines;

【从删库到跑路】MySQL数据库的 存储引擎_第2张图片

创建表并指定存储引擎

create table my_memory(
    id int,
    name varchar(10)
)engine = 存储引擎;

【从删库到跑路】MySQL数据库的 存储引擎_第3张图片

默认存储引擎(重要)

InnoDB
【从删库到跑路】MySQL数据库的 存储引擎_第4张图片

✨InnoDB简介

InnoDB是一种兼顾可靠性和高性能的通用存储引擎,在MySQL5.5之后,InnoDB是默认的MySQL存储引擎

✨InnoDB特点

DML操作遵循ACID模型,支持事务
行级锁,提高并发访问性能
支持外键FOREIGN KEY约束,保证数据的完整性和正确性

✨InnoDB文件

格式
XXX.ibd :XXX代表的是表名
InnoDB引擎的每张表都会对应这样的一个表文件,存储该表的表结构(frm,sdi),数据和索引。
参数
innodb_file_per_table

查看InnoDB文件

注意!!!

要在ProgramDate里面查看InnoDB文件,但是ProgramDate是隐藏文件
【从删库到跑路】MySQL数据库的 存储引擎_第5张图片

我们需要
【从删库到跑路】MySQL数据库的 存储引擎_第6张图片

找到自己的数据库的存储位置

在这里插入图片描述
就会发现下面有.ibd文件
【从删库到跑路】MySQL数据库的 存储引擎_第7张图片
.ibd文件是二进制文件,不能使用记事本打开,那么应该如何查看.ibd文件呢

️‍使用命令来查看
当前目录下面输入cmd,进入命令行模式
【从删库到跑路】MySQL数据库的 存储引擎_第8张图片
输入命令
【从删库到跑路】MySQL数据库的 存储引擎_第9张图片
ibd2sdi表示从ibd文件里面提取sdi表结构数据

可以看到文件里面是表结构
【从删库到跑路】MySQL数据库的 存储引擎_第10张图片

✨InnoDB特点

【从删库到跑路】MySQL数据库的 存储引擎_第11张图片

MyISAM存储引擎

✨MyISAM介绍

MyISAM是MySQL早期的默认存储引擎

✨MyISAM特点

不支持事务,不支持外键
支持表锁,不支持行锁
访问速度快

✨MyISAM文件

xxx.sdi:存储表结构信息
xxx.MYD:存储数据
xxx.MYI:存储索引

Memory存储引擎

✨Memory介绍

Memory引擎的表数据是存储在内存中的,由于受到硬件问题,或者断电问题的影响,只能将这些表作为临时表或缓存使用

✨Memory特点

内存存放
默认使用hash索引

✨Memory文件

xxx.sdi:存储表结构信息

如何选择存储引擎

【从删库到跑路】MySQL数据库的 存储引擎_第12张图片

️‍总结

【从删库到跑路】MySQL数据库的 存储引擎_第13张图片

如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正

你可能感兴趣的:(MySQL,数据库,mysql,开发语言)