可以看到该查询使用到了索引

EXPLAIN SELECT * FROM student WHERE id = 2 AND name = ‘defghijk‘ and age = 8;

可以看到该查询使用到了索引

EXPLAIN SELECT * FROM student WHERE id = 2 AND age = 8;

可以看到该查询使用到了索引

EXPLAIN SELECT * FROM student WHEREname =‘defghijk‘ AND age = 8;

可以看到该查询没有使用到索引,类型为index,查询行数为4989449,几乎进行了全表扫描,由于组合索引只针对最左边的列进行了排序,对于name、age只能进行全部扫描

EXPLAIN SELECT * FROM student WHERE name = ‘defghijk‘ AND id = 2;

EXPLAIN SELECT * FROM student WHERE age = 8 AND id = 2;

EXPLAIN SELECT * FROM student WHERE name = ‘defghijk‘ and age = 8 AND id = 2;

可以看到如上查询也使用到了索引,id放前面和放后面查询到的结果是一样的,MySQL会找出执行效率最高的一种查询方式,就是先根据id进行查询

总结

如上测试,可以看到只要查询条件的列中包含组合索引最左边的那一列,不管该列在查询条件中的位置,都会使用索引进行查询。

MySQL组合索引和最左匹配原则

标签:RoCE   lin   查询方式   ble   存在   number   测试表   roc   where

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://www.cnblogs.com/hnusthuyanhua/p/13153858.html

mysql组合索最左_MySQL组合索引和最左匹配原则相关推荐

  1. MySQL数据库索引的最左匹配原则((a),(a,b),(a,b,c)都能用到索引,(a,c)呢?)

    MySQL数据库索引的最左匹配原则 一. 联合索引说明 二. 那ac是否能用到索引呢? 三. 思考 四. 最左匹配原则的成因 一. 联合索引说明 建立三个字段的联合索引 联合索引(a,b,c)相当于建 ...

  2. 联合索引的最左匹配原则的成因

    联合索引的最左匹配原则的成因 上面我们只看的是单一的索引,接下来咱们来看看联合索引,也就是回答第二个问题.联合索引的最左匹配原则的成因.什么是联合索引呢,就是由多列组成的索引了.那亦要了解其成因,那先 ...

  3. MySQL索引之最左匹配原则

    简介 这篇文章的初衷是很多文章都告诉你最左匹配原则,却没有告诉你,实际场景下它到底是如何工作的,本文就是为了阐述清这个问题. 准备 为了方面后续的说明,我们首先建立一个如下的表(MySQL5.7),表 ...

  4. MySql 索引的最左匹配原则举例详解

    最左匹配原则 最左匹配原则就是指在联合索引中,如果你的 SQL 语句中用到了联合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个联合索引去进行匹配. 例如某表现有索引(a,b,c),现在你有 ...

  5. mysql 联合索 B 树_MySQL 索引与 B+ 树

    MySQL 索引与 B+ 树 B+ 树 MySQL Innodb 存储引擎是使用 B+ 树来组织索引的.在介绍 B+ 树以前,先认识一下什么是 B 树,B 树是平衡二叉树,与一般的二叉查找树不同,平衡 ...

  6. mysql like 多个条件_MySQL高性能索引策略

    索引类型 从物理存储角度: 聚集索引 InnoDB 叶节点包含了完整的数据记录.这种索引叫做聚集索引.因为InnoDB的数据文件本身要按主键聚集,所以InnoDB要求表必须有主键(MyISAM可以没有 ...

  7. mysql 查找多组数据结构_MySql主要索引数据结构

    索引数据结构 1. 二叉搜索树(Binary Search Tree)二叉搜索树是每个节点最多有两个子节点的树,按照右侧子节点大于本节点,左侧子节点小于本节点的规律排列,可以用作搜索,结构如下图所示 ...

  8. mysql延迟关联为什么快_MySQL 覆盖索引与延迟关联详解

    本期来谈谈覆盖索引与延迟关联.在此之前,我们先简单建立一个订单表 Orders 用于举例说明.表中共包含 3 个字段: id int product_id name CREATE TABLE `ord ...

  9. mysql引用表无效列_Mysql使用索引可能失效的场景

    1.WHERE字句的查询条件里有不等于号(WHERE column!=-),MYSQL将无法使用索引 2.类似地,如果WHERE字句的查询条件里使用了函数(如:WHERE DAY(column)=-) ...

最新文章

  1. CVPR2021|SpinNet:学习用于3D点云配准的通用表面描述符
  2. 科普:不要对移动机器人有误解
  3. 【计算理论】Pumping 引理 ( 四个等价概念 | 自动机界限 | Pumping 引理简介 | Pumping 引理证明正则表达式 | Pumping 引理示例分析 )
  4. 干货 | 你还在群发吗?高效查出哪些微信好友删除了你
  5. Spring Singleton,请求,会话Bean和线程安全
  6. 理解线程的挂起,sleep还有阻塞
  7. c++求n的几次方_14.八年级数学:若a+b+c=1,怎么求 a+b+c的值?分式培优拓展
  8. 高锟诺奖演讲:《古沙递捷音》
  9. (转)淘淘商城系列——商品搜索功能测试
  10. log file switch
  11. 信息安全系统设计基础实验三:实时系统的移植
  12. POJ2456-Aggressive cows
  13. YOLOX系列一 -- 代码下载以及win10上demo运行
  14. pubg解封验证计算机怎么验证,绝地求生解封教程
  15. 2019 第十届蓝桥杯Java省赛B组个人题解
  16. 程序员的高效工作环境
  17. 5月31日武汉国金天地亮灯仪式鎏光绽放!
  18. hevc CTB并行
  19. mysql数据库语言_mysql数据库sql语句基础知识
  20. 【docker问题】Client.Timeout exceeded while awaiting header

热门文章

  1. 数据埋点太难!知乎的做法有何可借鉴之处?
  2. 使用idea编写代码作为生产者,Kafka接收其发来的信息【小案例】(一)
  3. Shell中的if语句中的
  4. 【Docker】Docker 删除所有容器和镜像
  5. 【SpringBoot】SpringBoot、ThemeLeaf 官方文档地址
  6. ACM练习 愚人节拆括号【vector的清空 栈的使用】
  7. 听说版本会说话,你相信吗?
  8. java安全编码指南之:文件IO操作
  9. Java中IO和NIO的本质和区别
  10. Oracle表空间的查询与创建