主要是两个:MyISAM 和 InnoDB。
MyISAM的表在磁盘上存储成 3 个文件,其文件名都和表名相同,扩展名分别是:.frm(存储表定义) .MYD(MYData,存储数据) .MYI (MYIndex,存储索引)
InnoDB的表在磁盘上有两个文件,其文件名都和表名相同,扩展名分别是:.frm(存储表的定义) .ibd(存储数据和索引)
MEMORY只有一个:.frm(表结构定义)。数据存在内存,默认使用HASH索引
可以使用这句话查看
root@wu-virtual-machine:/var/lib/mysql/mysql# ls
5.7 是个分界线,在它之前是MyISAM,从它开始是InnoDB。
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)
可以这样查看表的索引引擎是啥
mysql> show create table student\G
*************************** 1. row ***************************
Table: student
Create Table: CREATE TABLE `student` (
`uid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` tinyint(3) unsigned NOT NULL,
`sex` enum('M','W') NOT NULL,
PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
对比图
种类 | 锁机制 | B-树索引 | 哈希索引 | 外键 | 事务 | 索引缓存 | 数据缓存 |
---|---|---|---|---|---|---|---|
MyISAM | 表锁 | 支持 | 不支持 | 不支持 | 不支持 | 支持 | 不支持 |
InnoDB | 行锁 | 支持 | 不支持 | 支持 | 支持 | 支持 | 支持 |
Memory | 表锁 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 |