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

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

联合索引的顺序

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

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

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

如何设计联合索引?

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

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

相关推荐
程序猿小D1 小时前
[附源码+数据库+毕业论文+开题报告]基于Spring+MyBatis+MySQL+Maven+jsp实现的车辆运输管理系统,推荐!
java·数据库·mysql·spring·毕业设计·开题报告·车辆运输管理系统
极限实验室3 小时前
ES 踩坑记:Set Processor 字段更新引发的 _source 污染
数据库
regret~4 小时前
【记录】Ubuntu20.04安装mysql
数据库·mysql
见未见过的风景5 小时前
想删除表中重复数据,只留下一条,sql怎么写
数据库·sql
哆啦A梦的口袋呀7 小时前
pymongo库:简易方式存取数据
数据库·mongodb
城里有一颗星星7 小时前
6.删除-demo
数据库·go
失重外太空啦7 小时前
Mysql练习
android·数据库·mysql
像风一样自由20207 小时前
Navicat操作指南:MySQL数据库配置与Todo应用部署
数据库·mysql·adb
青竹易寒8 小时前
Redis技术笔记-从三大缓存问题到高可用集群落地实战
数据库·redis·笔记