存储引擎就是存储数据,建立索引,更新,查询数据等技术的实现方式。
存储引擎是基于表
的,而不是基于库的,所以存储引擎也被称为表类型。
show engines;
create table my_memory(
id int,
name varchar(10)
)engine = 存储引擎;
InnoDB
InnoDB是一种兼顾可靠性和高性能的通用存储引擎,在MySQL5.5之后,InnoDB是默认的MySQL存储引擎
DML操作遵循ACID模型,支持事务
行级锁
,提高并发访问性能
支持外键
FOREIGN KEY约束,保证数据的完整性和正确性
🤖格式
XXX.ibd
:XXX代表的是表名
InnoDB引擎的每张表都会对应这样的一个表文件,存储该表的表结构(frm,sdi),数据和索引。
🤖参数
innodb_file_per_table
注意!!!
要在ProgramDate里面查看InnoDB文件,但是ProgramDate是
隐藏文件
我们需要
找到自己的数据库的存储位置
就会发现下面有.ibd
文件
.ibd
文件是二进制文件,不能使用记事本打开,那么应该如何查看.ibd
文件呢
🏳️🌈使用命令来查看
在当前目录
下面输入cmd,进入命令行模式
输入命令
ibd2sdi
表示从ibd文件里面提取sdi表结构数据
可以看到文件里面是表结构
的
MyISAM是MySQL早期的默认存储引擎
不支持事务,不支持外键
支持表锁,不支持行锁
访问速度快
xxx.sdi
:存储表结构信息
xxx.MYD
:存储数据
xxx.MYI
:存储索引
Memory引擎的表数据是存储在内存中的,由于受到硬件问题,或者断电问题的影响,只能将这些表作为临时表或缓存使用
内存存放
默认使用hash索引
xxx.sdi
:存储表结构信息
🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰
我正在参与 腾讯云开发者社区数据库专题有奖征文。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。