前言:进阶篇学习规划
一,MySQL的体系结构
索引是在存储引擎层实现的,不同的存储引擎索引的结构是不一样的InnoDB引擎是mysql5.5之后默认的
二,存储引擎简介
引擎:发动机,机器的核心部分。不同的引擎有不同的应用场景
如果在建表的时候没有指定存储引擎,则默认的存储引擎为:InnoDB
查询当前数据库支持的存储引擎
# 查询建表语句
show create table my_memory;
# 查询当前数据库支持的存储引擎
show engines;
# 创建表my_myisam 并指定MyISAM存储引擎
create table my_myisam(
id int,
name varchar(10)
)engine = MyISAM;
# 创建表my_memory ,指定Memory存储引擎
create table my_memory(
id int,
name varchar(10)
)engine = Memory;
三,存储引擎特点
1,Innodb
xxx.ibd二进制文件,无法以记事本文件打开
不过可使用命令ibd2sdi查看
逻辑存储结构
2,MyISAM
MYD:存放表中的数据数据
MYI:存放索引
sdi:存放表结构信息
应该是版本问题,我这个没有sdi文件,只有frm文件
3,Memory
4,Innodb、MyISAM、Memory各个维度的区别
Innodb与MyISAM的三大区别:
Innodb支持事务、行锁、外键,而MyISAM不支持事务、支持表锁,不支持外键。
四,存储引擎选择
存储引擎没有好坏之分,在合适的业务特点、需求选择合适的存储引擎
五、总结