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
,是否“走索引”以及如何走索引的规则取决于查询条件和索引的“最左前缀原则”。下面对这三种查询逐一分析: