MySQL问题:什么是MySQL的中的最左匹配原则?

是指在复合索引中,查询条件需要按照索引列的顺序从最左侧列开始依次匹配。只有查询条件中的列按照索引的最左边列开始进行匹配,索引才能被有效使用,但有时虽然不是正常顺序,由于MySQL中存在优化器,会自动调整顺序,依旧能使用索引

联合索引的顺序

例如:联合索引(a,b,c)在B+Tree中的排序是:先按a的值排序,如果a的值相同的,则按b的值排序,如果b的值相同,在按c的值排序。

注意:如果遇到范围查询(>,<),就会停止匹配

如果遇到>=、between、like等范围查询,则不会停止匹配,原因:这些查询包含一个凳子判断,这样可以直接定位到某个数据,然后往后扫描即可。

如何设计联合索引?

也就是如何满足最左匹配原则的实现

高频查询字段放左侧,等值查询字段优先于范围查询字段。

相关推荐
我叫张小白。16 分钟前
基于Redis的缓存架构与一致性保障体系
数据库·redis·缓存·架构
Omics Pro20 分钟前
基因泰克:检测级虚拟细胞基准!大语言模型+智能体
大数据·数据库·人工智能·机器学习·语言模型·自然语言处理·r语言
Quincy_Freak21 分钟前
工具分享|基于 SQLiteGo 的国产系统离线数据处理方案
大数据·数据库·数据分析·arm·国产系统·银河麒麟·aarch64
我是一颗柠檬34 分钟前
【Redis】数据类型详解Day2(2026年)
数据库·redis·后端·缓存
Trouvaille ~39 分钟前
【Redis篇】List 列表:双端队列与消息队列的完美实现
数据库·redis·list·双端队列·后端开发·quicklist·zoplist
Cloud_Shy61840 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第一章 Item 4 - 6)
android·数据库·论文阅读·python
土狗TuGou1 小时前
SQL内功笔记 · 第7篇:CTE&临时表&递归
数据库·笔记·后端·sql·mysql
XiYang-DING1 小时前
【Spring】日志
java·数据库·spring
我是唐青枫1 小时前
MySQL EXISTS 详解:存在性判断、NOT EXISTS 与实战示例
数据库·mysql
weixin_468466851 小时前
Airtable 零基础快速上手与实战指南
数据库·人工智能·python·深度学习·ai·大模型