数据结构

Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE
innodb
B+ 树(特点:数据只储存在叶子节点,叶子节点之间有指针)
为什么选择B+ 树
树高度小,适合范围查找,排序

物理结构

1、聚集索引(clustered index)优点:范围查询
2、非聚集索引(non-clustered index) 插入速度快, 无行数据信息

逻辑分类

1、主键索引:主键索引是一种特殊的唯一索引,不允许有空值
2、普通索引或者单列索引
3、多列索引(复合索引):复合索引指多个字段上创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。使用复合索引时遵循最左前缀集合,覆盖索引减少二次查询(extra use index)
4、唯一索引或者非唯一索引
前缀索引,避免索引字段过长,不支持ORDER BY 和 GROUP BY, 覆盖扫描