MyISAM存储引擎
- MyISAM索引文件和数据文件是分离的(非聚集)
CREATE TABLE `test_myisam` (
`clo1` int(11) NOT NULL AUTO_INCREMENT,
`clo2` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
创建一个MyISAM存储引擎的表,表在磁盘上的存储文件如下
增加clo1字段索引,查询clo1=30存储引擎执行流程如下:
- ① 首先在索引(MYI)中找到索引值=30的索引数据
- ② 取索引数据中的磁盘地址,这个磁盘地址是clo=30这行数据在磁盘的数据行地址
- ③ 到数据文件(MYD)中取出当前行数据
InnoDB存储引擎(主键索引-聚集)
- 表数据文件本身就是按照B+Tree组织的一个索引文件
- InnoDB建议表使用整型的