🌺存储引擎简介
存储引擎就是存储数据,建立索引,更新,查询数据等技术的实现方式。
存储引擎是基于表
的,而不是基于库的,所以存储引擎也被称为表类型。
🎄查询当前数据库支持的存储引擎
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
:存储表结构信息
🍔如何选择存储引擎
🏳️🌈总结
🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰