千家信息网

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

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要为大家展示了"MySQL数据库索引的最左匹配原则是什么",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"MySQL数据库索引的最左匹配原则是什么"
千家信息网最后更新 2026年10月31日MySQL数据库索引的最左匹配原则是什么

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

一. 联合索引说明

建立三个字段的联合索引

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

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

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

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

ac索引查询

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

显示查询范围是ALL

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

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

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

3.ab索引查询

查询范围为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数据库索引的最左匹配原则是什么"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

索引 联合 查询 原则 范围 顺序 数据 数据库 内容 字段 篇文章 三个 基础 结论 南雄 南雄市 广东 学习 帮助 排序 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡网 上海睿民互联网科技有限公司 互联网下的科技发展 互联网科技战争 金融科技创新监管互联网金融 互联网科技公司发展 西安互联网科技 期待互联网科技 互联网科技创新企业排名 恒生科技互联网指数分析 宁波青枫互联网科技有限公司 互联网时代科技改变生活 乌鲁木齐新华智原互联网科技学校 科技互联网的核心竞争力 互联网企业科技类企业如何做账 2021世界互联网领先科技成果发布 互联网科技企业商标注意事项 科技和互联网行业的特点 第三届互联网大会安防黑科技 北京品多多互联网科技有限公司 互联网科技有限公司经营范围 宁夏众和广鑫互联网科技有限公司 崇明区互联网教育科技诚信经营 深圳市优智互联网科技有限公司 用友工业互联网科技发展 陕西云淼互联网科技公司 科技信息时代互联网发展 北京军民互联网科技公司 10位科技互联网大佬 株洲百竞科技的互联网营销顾问
0