索引覆盖
mysql索引分为两类:聚簇索引,非聚簇索引(二级索引)
索引覆盖
在用到二级索引时,要根据主键值进行回表操作查询数据,若此时,要查询的数据在二级索引中就存在,则不进行回表操作,称为索引覆盖
比如:有一个联合索引 idxs_id_age
查询语句 select id,age from student where id> 1;
此时二级索引中就包含全部数据。
索引下推
上面查询语句第二个查询条件 是模糊查询 正常条件下不会使用索引,此时查询优化器进行成本分析发现 先在二级索引中进行模糊匹配在进行回表操作,比直接回表在模糊成本低,就先在二级索引中筛选。