分类
覆盖索引
并非索引,而是在索引中就可以拿到数据,不需要回表到主键聚簇索引,就是覆盖索引
联合索引
多个字段联合作为二级索引B+树的索引值,也是二分法找到对应的主键ID,然后回表查询主键的聚簇索引
全覆盖索引
单列索引
匹配原则
最左列匹配
只用联合索引的最左边的字段,也是可以走索引的
最左前缀匹配
像like ‘123%’,如果条件是索引最左列,索引也生效
范围查找
对索引最左列进行范围查找也是可以走索引的<br>
等值匹配+范围匹配原则
最左列全值匹配之后,紧接着的第一个索引列的范围查找也走索引,但是第二个范围查找是不走索引的
排序原则
联合索引字段多个使用order by 要么都是ASC 要么都是DESC,否则索引失效
设计原则
按照where、order by 、group by最常用的字段进行设计
选择基数比较大字段(这样才能发挥出二分法的优势)
字段比较长的字段,可以使用前缀索引,只取字段前面少数作为索引,但是对于order by语句就不能用上索引了
索引不要建立太多,否则维护多个索引树的性能会非常差
一般情况下不建议使用UUID,否则导致聚簇索引频繁地页分裂