【MySQL数据库】详细讲解MySQL的存储引擎

MySQL
190
0
0
2024-02-07

🌺存储引擎简介

存储引擎就是存储数据,建立索引,更新,查询数据等技术的实现方式。

存储引擎是基于表的,而不是基于库的,所以存储引擎也被称为表类型。

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

show engines;

🎄创建表并指定存储引擎

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

🌺默认存储引擎(重要)

InnoDB

✨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是隐藏文件

我们需要

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

就会发现下面有.ibd文件

.ibd文件是二进制文件,不能使用记事本打开,那么应该如何查看.ibd文件呢

🏳️‍🌈使用命令来查看

当前目录下面输入cmd,进入命令行模式

输入命令

ibd2sdi表示从ibd文件里面提取sdi表结构数据

可以看到文件里面是表结构

✨InnoDB特点

🌺MyISAM存储引擎

✨MyISAM介绍

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

✨MyISAM特点

不支持事务,不支持外键

支持表锁,不支持行锁

访问速度快

✨MyISAM文件

xxx.sdi:存储表结构信息

xxx.MYD:存储数据

xxx.MYI:存储索引

🌺Memory存储引擎

✨Memory介绍

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

✨Memory特点

内存存放

默认使用hash索引

✨Memory文件

xxx.sdi:存储表结构信息

🍔如何选择存储引擎

🏳️‍🌈总结

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