MySQL体系结构
存储引擎
存储引擎是存储数据、建立索引、更新/查询数据等的实现方式,它是基于表的,也称表类型
MySQL中默认引擎为InnoDB
- 创建表时指定存储引擎:
CREATE TABLE name(...) ENGINE 引擎名
InnoDB
InnoDB是兼顾高可靠性和高性能的通用存储引擎
特点:
- 支持事务,遵循ACID模型
- 行级锁
- 支持外键
磁盘文件:xxx.idb,每张表都对应一个文件,存储表结构、数据和索引
可以在cmd使用ibd2sdi xxx.idb查看sdi内容
逻辑存储结构:
MyISAM
MySQL早期存储引擎
特点:
- 不支持事务、外键
- 支持表锁,不支持行锁
- 访问速度快
磁盘文件:xxx.sdi存储表结构信息,xxx.MYD存储数据,xxx.MYI存储索引
若应用以读或插入操作为主,只有很少更新和删除操作,并且对事务和并发不高,可以选择这个
Memory
Memory存放在内存中,因此只能作为内存表或缓存
特点:
- 内存存放,速度快
- hash索引
磁盘文件:xxx.sdi存储表结构信息
适用于临时表或换成,缺陷是对大小有限制,且无法保障安全性