【6.0】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 表中的数据已经不存在了
本文来自博客园,作者:Chimengmeng,转载请注明原文链接:https://www.cnblogs.com/dream-ze/p/17995406