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字段均无单独字段索引,则不使用索引。
相关推荐
2401_894915533 分钟前
GEO 优化源码性能调优:高并发地域请求缓存与索引优化
java·服务器·网络·数据库·缓存
疯狂打码的少年7 分钟前
【数据库技术】数据库三级模式结构(外模式/模式/内模式)
数据库·笔记·oracle
叫我:松哥16 分钟前
基于 Flask 框架的学校信息管理系统,技术栈flask+MySQL+boostrap
数据库·flask
冰暮流星24 分钟前
MySQL 流程函数详解
数据库·sql·mysql
我叫张土豆29 分钟前
在 OpenClaw Java 对话框输入一句话后,系统是如何运行的?
java·开发语言·人工智能
Darling噜啦啦36 分钟前
从零搭建单词管理系统:Next.js + Supabase + Drizzle ORM 全栈实战
数据库·orm·next.js
liangbo737 分钟前
JVM规范第 4 章:class 文件格式
java·jvm
橘子汽水16838 分钟前
Leetcode 236,437:二叉树的最近公共祖先,路径总和III
java·数据结构
数据狐(Datafox)1 小时前
1688商品详情API技术解析与落地应用(含标准 JSON 示例)
java·数据库·json