远离那些贬低你理想的人。狭隘的人经常如此,伟大的人会让你感觉自己也可以变好。
——马克·吐温
- 按「数据结构」分类:B+tree索引、Hash索引、Full-text索引。
- 按「物理存储」分类:聚簇索引(主键索引)、二级索引(辅助索引)
- 按「字段特性」分类:主键索引、唯一索引、普通索引、前缀索引
- 按「字段个数」分类:单列索引、联合索引
从数据结构的角度来看,MySQL常见索引有B+Tree索引、HASH索引、Full-Text索引
每一种存储引擎支持的索引类型不一定相同
InnoDB 是在 MySQL 5.5 之后成为默认的 MySQL 存储引擎,B+Tree 索引类型也是
MySQL 存储引擎采用最多的索引类型。
在创建表时,InnoDB 存储引擎会根据不同的场景选择不同的列作为索引:
- 如果有主键,默认会使用主键作为聚簇索引的索引键(key);
- 如果没有主键,就选择第一个不包含 NULL 值的唯一列作为聚簇索引的索引键(key);
- 在上面两个都没有的情况下,InnoDB 将自动生成一个隐式自增 id 列作为聚簇索引的索引键(key);.
其它索引都属于辅助索引(Secondary lndex),也被称为二级索引或非聚簇索引。创建的
主键索引和二级索引默认使用的是 B+Tree 索引。
引用于小林coding