索引最左匹配原则

建立联合索引时会遵循最左匹配原则,即最左优先,在检索数据时从联合索引的最左边开始匹配

例如

  • 为user表中的name、address、phone列添加联合索引
    ALTER TABLE user ADD INDEX index_three(name,address,phone);
  • 所以,下面的三个SQL语句都可以命中索引

SELECT * FROM user WHERE address = ‘北京’ AND phone = ‘12345’ AND name = ‘张三’;

SELECT * FROM user WHERE name = ‘张三’ AND address = ‘北京’;

SELECT * FROM user WHERE name = ‘张三’;

  • 这三条SQL语句在检索时分别会使用以下索引进行数据匹配 (name,address,phone) (name,address) (name)
  • 索引字段出现的顺序可以是任意的,MySQL优化器会帮我们自动的调整where条件中的顺序
  • 如果联合索引中最左边的列不在查询条件中,则不会命中索引
    SELECT * FROM user WHERE address = ‘北京’ ;

数据库索引最左匹配原则相关推荐

  1. 简述一下索引的匹配原则_索引最左匹配原则

    写在前面:我在上大学的时候就听说过数据库的最左匹配原则,当时是通过各大博客论坛了解的,但是这些博客的局限性在于它们对最左匹配原则的描述就像一些数学定义一样,往往都是列出123点,满足这123点就能匹配 ...

  2. Mysql复合索引最左匹配原则以及索引失效条件

    Mysql复合索引最左匹配原则以及索引失效条件 复合索引最左匹配原则 用EXPLAIN 来查看语句是否用到了索引 索引失效的条件 一般性建议 复合索引最左匹配原则 复合索引又叫联合索引.两个或更多个列 ...

  3. 联合索引-最左匹配原则

    前言: 面试官:建过索引嘛? 我有一个朋友:见过呀! 面试官:那你知道MySQL的执行计划嘛? 我有一个朋友:啊?!! 面试官:那你肯定知道最左匹配原则吧. 我有一个朋友:额... 想必大家面试时都被 ...

  4. mysql 最左_mysql索引最左匹配原则

    创建表 插入 10000 条数据 建立了联合索引(a,b,c) 验证: explain 指令详解可以查看 explain select * from test where a<10 ; expl ...

  5. mysql索引最左匹配原则的理解

    我记得网易面试的时候问到了.阿里也面到了 创建表 create table test( a int , b int, c int, d int, key index_abc(a,b,c) )engin ...

  6. MySQL 索引最左匹配原则

    csdn原文:http://blog.csdn.net/zhu19774279/article/details/46473981 本文的原文地址在此:https://www.percona.com/b ...

  7. MYSQL数据库索引设计的原则

    索引说明 InnoDB是使用B+树来实现其索引功能的.在B+树中,内节点(非叶子节点)存储了行数据的键,而叶子节点存储了所有的行数据,而B树的每个节点都存储了真实的数据.这种数据结构,决定了两者有以下 ...

  8. 简述一下索引的匹配原则_Mysql联合索引最左匹配原则

    [toc] 为什么使用联合索引 以联合索引(a,b,c)为例 建立这样的索引相当于建立了索引a.ab.abc三个索引.一个索引顶三个索引当然是好事,毕竟每多一个索引,都会增加写操作的开销和磁盘空间的开 ...

  9. 【转】Mysql索引最左匹配原则理解

    作者:沈杰 链接:https://www.zhihu.com/question/36996520/answer/93256153 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

最新文章

  1. 普通大学生和大厂的距离有多长?
  2. Spring Boot开始
  3. 机器学习中的矩阵向量求导(二) 矩阵向量求导之定义法
  4. 使用Blazor开发内部后台(一):认识Blazor
  5. uoj #118. 【UR #8】赴京赶考 水题
  6. 怎么找到服务器的文档,服务器怎么找到数据库
  7. 频域卷积定理的证明 乘积的傅里叶变换等于分别做傅里叶变换的卷积乘1/2pi
  8. 苹果在中国的审核规律探索一
  9. 天猫、抖音各大电商平台关键词调用、价格监控、竞价API
  10. 构建自己企业的邮箱验证服务
  11. 计算机打印状态错误,打印机状态错误怎么办 打印机状态错误解决方法【图文】...
  12. 钕铁硼的尺寸与形位公差
  13. linux学习-执行cp命令时略过目录
  14. 运输业的EDI是如何运作的?
  15. BH-02蓝牙耳机 超重低音蓝牙耳机
  16. ngx_thread_pool_init()
  17. 农历 Android Java 节气_Android自定义日历,可以点击、标注日期、节气、旧历等
  18. 深度学习工作站攒机指南
  19. 什么是PWM 和PFM?
  20. SQL Server中的约束(六种约束)

热门文章

  1. 【超简单、超实用】Pytorch生成标签的one-hot矩阵
  2. uni-app项目本地打包可在同机安装的不同apk
  3. 三大电信运营商携号转网数据_携号转网叠加5G商用 三大运营商的运营数据还好吗?...
  4. linux vim 倒数200行,上古神器之vim
  5. matlab算法rvm,RVM算法的matlab實現
  6. C 提示 头文件中 expected initializer before int/void
  7. 【无线网络技术】为什么WIMAX没有普及?
  8. 嵌入式开发之Opencv(二)JPEG解码加速
  9. 重构 重写 重载
  10. react-native ImageBackground图片被android键盘顶飞了