覆盖索引是指:
在某个查询里面,某个索引已经“覆盖了”我们的查询需求,称为覆盖索引。
覆盖索引可以减少树的搜索次数,显著提升查询性能,所以使用覆盖索引是一个常用的性能优化手段。
比如
select id,name,password form user where name=1
此时根据name会找到 主键id 此时只能返回id和name而不能返回password,这时就会回表查询找到对应的行消耗了性能,如果我们建立一个联合索引name,password 那么在找到name的同时也会找到passwode同时非聚簇索引叶子结点会存储主键id值这是就能直接返回这三个字段而不用进行回表查询,这样就提高了效率 ,但是如果我们再加入一个字段grade就会又需要回表查询了