mysql体系
连接层
服务层
数据库引擎
文件系统层
数据库引擎
- show engines;查看引擎
- show variables like “%storage_engine%”;
- 修改默认引擎
my.ini修改default-storage-engine
MyISAM
- 文件结构
frm表结构
MYD数据文件
MYI索引文件。
- 锁级别
1表锁
2表损坏修复
3压缩
myisampack -b -f myIsam.MYI - 适用场景
1.非事务型应用
2.只读类应用
InnoDB
-
结构
frm表结构
ibd独立表空间
show variables like ‘%per_table%’;
on 独立表空间
off 系统表空间:ibdataX X是一个数字
-
适用场景
适合高并发,行级锁
支持外键和事务
CSV
- 结构
frm表结构
vcv表数据
csm文件存储表的元数据如表状态和数据量
-
- 创建表时列不支持为空
- 适用场景
适合做中间表,过渡作用
MEMORY
表数据存储在内存中,重启丢失
表结构会保存
- 结构
支持HASH索引和BTree索引,HASH索引用在等值查找,BTree索引用在范围查找
不支持BLOB和TEXT等大字段
如何选择引擎
大部分情况用innodb。
1 事务
2 备份
3 性能
4 崩溃恢复