https://www.nowcoder.com/feed/main/detail/8f1c4200175d48699b8c25fc0456b0e8?sourceSSR=search

给几个查询和索引,问走不走索引  怎么走  (覆盖索引 二级索引 主键索引的一些内容)

数据库字段 abcde  联合索引abc

1. select * from table where a= 1 and b=2

2. select * from table where a= 1 and c=2

3. select * from table where  c=2

作者:我是度孝子赐我offer

链接:

https://www.nowcoder.com/feed/main/detail/8f1c4200175d48699b8c25fc0456b0e8?sourceSSR=search

来源:牛客网

总结

查询 索引使用情况 走索引方式
a=1 AND b=2 完全匹配前两列 a, b 利用索引的前两部分,高效过滤
a=1 AND c=2 部分匹配第一列 a 只使用 a 过滤,c 条件需要额外扫描
c=2 不匹配最左前缀 不走索引,全表扫描

关于联合索引 abc,是否“走索引”以及如何走索引的规则取决于查询条件和索引的“最左前缀原则”。下面对这三种查询逐一分析: