引擎概述
MySQL 中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,能够获得额外的速度或者功能,从而改善应用的整体功能。
常见的数据库引擎有: Myisam 、Innodb 、Memory 、Archive 四种 ;
常用的为:Myisam 、Innodb (5.5 版本之后,默认使用)。
区别
Myisam | Innodb | |
---|---|---|
事务 | 不支持 | 支持 |
数据行锁定 | 不支持 (表锁) | 支持 (行锁) |
外键约束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间大小 | 较小 | 较大 |
常规使用操作
- Myisam 节约空间,速度快
- Innodb 安全性高,事务处理,多表多用户操作
磁盘存在位置
所有的数据库文件都存放于 DATA 目录中,本质是文件存储;
DATA 下每个文件夹都对应一个数据库,所以数据库引擎文件也存放于 DATA 目录下。
-
Myisam
- *.frm 表结构定义文件
- *.MYD 数据文件
- *.MYI 索引文件
-
Innodb
- *.frm 文件
- 上级目录下的 ibdata1 文件