iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库索引的最左匹配原则是什么
  • 405
分享到

MySQL数据库索引的最左匹配原则是什么

2023-06-25 16:06:42 405人浏览 独家记忆
摘要

这篇文章主要为大家展示了“MySQL数据库索引的最左匹配原则是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mysql数据库索引的最左匹配原则是什么”这篇文章吧。一. 联合索引说明建立三个字

这篇文章主要为大家展示了“MySQL数据库索引的最左匹配原则是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mysql数据库索引的最左匹配原则是什么”这篇文章吧。

一. 联合索引说明

建立三个字段的联合索引

联合索引(a,b,c)相当于建立了索引:(a),(a,b),(a,b,c)

二. 那ac是否能用到索引呢?

先给出结论:a可以命中联合索引(a,b,c),c无法命中,所以ac组合无法命中联合索引。

建立abc联合索引(province,city,district)

MySQL数据库索引的最左匹配原则是什么

ac索引查询

SELECT * FROM user_address WHERE province = '广东' AND district = '南雄市'

MySQL数据库索引的最左匹配原则是什么

显示查询范围是ALL

直接建立ac两个字段得联合索引

MySQL数据库索引的最左匹配原则是什么

SELECT * FROM user_address WHERE province = '广东' AND district = '南雄市'

MySQL数据库索引的最左匹配原则是什么

查询结果是ref走了索引,扫描的行数也从21行变成了13行

ab索引查询
MySQL数据库索引的最左匹配原则是什么

查询范围为ref

结论

abc联合索引,ac中的c不能命中这三个字段的联合索引,a可以命中,所以possible_keys列会显示使用了联合索引

三. 思考

abc索引,acb会走索引吗?

  • 最左前缀匹配原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,

  • 比如a=3 and b=4 and c>5 and d=6如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。

  • =和in可以乱序,比如a=1 and b=2 and c=3建立(a,b,c)索引可以任意顺序,mysql的查询优化器会帮你优化成索引可以识别的形式

四. 最左匹配原则的成因

  • 因为联合索引,如:abc,联合索引可以理解为有序的且形成的基础是建立在a上的,从a上建立b,b上建立c,所以必须要按照顺序来

  • 可以简单理解为:先对a排序建立索引,再在a的基础上对b进行排序,再是c

  • 所以联合索引在遇到范围查询,后面的索引会失效。

以上是“MySQL数据库索引的最左匹配原则是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库索引的最左匹配原则是什么

本文链接: https://www.lsjlt.com/news/305876.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL数据库索引的最左匹配原则是什么
    这篇文章主要为大家展示了“MySQL数据库索引的最左匹配原则是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL数据库索引的最左匹配原则是什么”这篇文章吧。一. 联合索引说明建立三个字...
    99+
    2023-06-25
  • MySQL数据库索引的最左匹配原则
    目录一. 联合索引说明二. 那ac是否能用到索引呢?三. 思考四. 最左匹配原则的成因一. 联合索引说明 建立三个字段的联合索引 联合索引(a,b,c)相当于建立了索引:(a),(a...
    99+
    2024-04-02
  • MySQL索引最左匹配原则是什么
    本篇内容介绍了“MySQL索引最左匹配原则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • Mysql 联合索引最左匹配原则
    最左前缀匹配原则: 在MySQL建立联合索引时会遵守最左前缀匹配原则,即最左优先. 在检索数据时从联合索引的最左边开始匹配,Mysql会一直向右匹配直到遇到范围查询(>、5 and d=6如果建立(a...
    99+
    2023-09-03
    数据库 java
  • MySQL组合索引与最左匹配原则详解
    前言 之前在网上看到过很多关于mysql联合索引最左前缀匹配的文章,自以为就了解了其原理,最近面试时和面试官交流,发现遗漏了些东西,这里自己整理一下这方面的内容。 什么时候创建组合索引? 当我们...
    99+
    2024-04-02
  • mysql中索引的最左原则是什么
    今天就跟大家聊聊有关mysql中索引的最左原则是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、MySQL不会使用索引的情况:非独立的列独立的列是指索引列不能是表达式的一部分,...
    99+
    2023-06-15
  • 深入浅析Mysql联合索引最左匹配原则
    前言 之前在网上看到过很多关于mysql联合索引最左前缀匹配的文章,自以为就了解了其原理,最近面试时和面试官交流,发现遗漏了些东西,这里自己整理一下这方面的内容。 最左前缀匹配原则 在mysql建立联合...
    99+
    2024-04-02
  • Mysql索引的最左前缀原则是什么
    这篇文章主要介绍了Mysql索引的最左前缀原则是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Mysql索引的最左前缀原则是什么文章都会有所收获,下面我们一起来看看吧。前言之所以有这个最左前缀索引归根结底是...
    99+
    2023-06-29
  • 验证Mysql中联合索引的最左匹配原则详情
    目录前言如何验证联合索引的有效性多个单一索引进行验证联合索引总结前言 后端面试中一定是必问mysql的,在以往的面试中好几个面试官都反馈我Mysql基础不行,今天来着重复习一下自己的...
    99+
    2022-11-13
    Mysql联合索引最左匹配 Mysql中联合索引
  • MySQL数据库索引的设计原则是什么
    本篇内容主要讲解“MySQL数据库索引的设计原则是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL数据库索引的设计原则是什么”吧!为了使索引的使用效...
    99+
    2024-04-02
  • mysql为什么是最左匹配
    本篇文章给大家分享的是有关mysql为什么是最左匹配,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。mysql为什么是最左匹配1.因Mysql创...
    99+
    2024-04-02
  • mysql中怎么实现索引最左原则
    这期内容当中小编将会给大家带来有关mysql中怎么实现索引最左原则,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。建表CREATE TABLE `use...
    99+
    2024-04-02
  • 图文详解Mysql索引的最左前缀原则
    目录前言1. 定义2. 全索引顺序3. 部分索引顺序3.1 正序3.2 乱序4. 模糊索引5. 范围索引总结前言 之所以有这个最左前缀索引 归根结底是mysql的数据库结构 B+树 ...
    99+
    2024-04-02
  • 数据库组合索引的选择原则是什么
    本篇内容主要讲解“数据库组合索引的选择原则是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据库组合索引的选择原则是什么”吧! 表上的索引是根据什么建立的...
    99+
    2024-04-02
  • MySQL为数据表建立索引的原则是什么
    这篇文章给大家分享的是有关MySQL为数据表建立索引的原则是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。面试题:索引是什么?索引的优点?索引的缺点?在建立索引的时候都有哪些需要考虑的因素呢为数据表建立索引的...
    99+
    2023-06-29
  • MySQL索引创建原则是什么
    本篇内容介绍了“MySQL索引创建原则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2023-05-25
    mysql
  • mysql索引优化的原则是什么
    MySQL索引优化的原则包括以下几点: 选择合适的索引类型:MySQL支持多种索引类型,包括B-Tree索引、哈希索引和全文索引...
    99+
    2023-10-28
    mysql
  • mysql索引建立的原则是什么
    小编给大家分享一下mysql索引建立的原则是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!尽量选择区分度高的列来建立索引。频繁查询列适合建立索引。遇到联合索引时,想想最左边的匹配原则。like模糊查询时,%在前面时才会...
    99+
    2023-06-25
  • mysql数据库中索引的底层原理是什么
    本篇文章为大家展示了mysql数据库中索引的底层原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下面,我们举例来说明一下聚集索引和非聚集索引的区别:其实,我...
    99+
    2024-04-02
  • MySQL数据库授权的原则是什么
    本篇内容介绍了“MySQL数据库授权的原则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  服务器重...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作