mysql联合索引经典实例

某表有二个索引,一个是a,b,c三字段联合索引,一个是c字段单独索引,请问下列sql语句,能否使用上索引?

  1. where a=1 and b=2 and c=3 (使用联合索引)

  2. where a = 1 and b>2 and c=3 (使用c索引)

  3. where a > 1 and b=2 and c=3 (使用c索引)

  4. where a > 1 and b=2 and c>3 (不使用索引)

  5. where a>1 and b!=2 (不使用索引)

  6. where a!=1 and b>1 (不使用索引)

  7. where b = 1 and a = 2 (使用联合索引)

  8. where b = 1 (不使用索引)

  9. where a = 1 (使用联合索引、若a字段存在单独索引,此处仍优先使用联合索引)

  10. where c = 1 order by b (使用c索引)

  11. where c = 1 order by a (使用c索引)

  12. where b = 1 order by a (不使用索引)

  13. where b = 1 order by c (不使用索引)

  14. where b = 1 group by c (使用c索引)

备注:

  1. 范围查询用不上索引。
  2. 联合索引中,若存在范围查询时,优先使用其他准确查找字段中的单独索引。
  3. 联合索引中,若a,b,c、 a,b、 a,c、 a 组合(即含有a字段的组合)均为精确查找,则使用联合索引。(与where语句中三个字段出现的顺序无关)
  4. 联合索引中,若字段组合中不含有a字段且b、c字段均无单独字段索引,则不使用索引。
相关推荐
IT19956 小时前
Fail2Ban 防护 MySQL 实战|登录失败 3 次,IP 封禁 24 小时
数据库·mysql
夕除6 小时前
redis--IO 多路复用(select + poll)
数据库·sql
wangchunyu1148 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
paopaokaka_luck9 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
Thomas.Sir9 小时前
第9课:SpringBoot4.x Web开发基础:WebMvc自动配置、静态资源、请求参数接收
java·spring boot
程序 代码狂人9 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
2501_9445215910 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
lzhdim10 小时前
100条常用SQL语句
数据库·sql·mysql·mybatis
天河归来10 小时前
从原始消息到业务数据:三层数据架构的设计与实践
数据库·数据仓库·架构
数据库小学妹11 小时前
金融数据库成本怎么算?五笔钱加一张TCO表
数据库·金融行业·数据库选型·国产化替代·tco·金融数据库