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字段均无单独字段索引,则不使用索引。
相关推荐
蓝天下的守望者11 小时前
svt_apb_if里的宏定义问题
运维·服务器·数据库
醉城夜风~12 小时前
Java详解经典算法题:接雨水(三种实现方案+原理剖析)
java·开发语言·算法
上海云盾-小余12 小时前
网站频繁遭遇 SQL 注入溯源与原生漏洞修复全流程总结
数据库·sql
数据库小学妹12 小时前
国家区域医疗中心国产化改造实战:数据库选型、跨院区数据互通与踩坑经验
数据库·国产数据库·数据库选型·医疗信息化·信创数据库·医疗信创
TPBoreas12 小时前
MySQL性能优化面试全攻略
mysql·面试·性能优化
数智化转型推荐官13 小时前
2026统一身份管理系统五大发展趋势解读
java·运维·微服务
xlq2232213 小时前
11.表的内外连接,索引
mysql
看菜鸡互13 小时前
探索用 SlideML 让大模型生成 PPT 的实验方法
java·运维
AllData公司负责人13 小时前
数据库同步平台|AIIData数据中台实现OceanBase、达梦数据库、OpenGauss、人大金仓、Hive、TDengine 一键接入Doris
大数据·数据库·hive·mysql·oceanbase·tdengine
2603_9547083113 小时前
全维度容错设计,打造微电网安全运行屏障
服务器·网络·数据库·人工智能·分布式·安全