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

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

联合索引的顺序

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

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

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

如何设计联合索引?

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

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

相关推荐
远方16097 分钟前
53-Oracle sqlhc多版本实操含(23 ai)
大数据·数据库·sql·oracle·database
ZHOU_WUYI23 分钟前
Python Minio库连接和操作Minio数据库
数据库·ragflow
安 当 加 密30 分钟前
如何通过密钥管理系统实现数据库、操作系统账号和密码的安全管理
网络·数据库·安全
nbsaas-boot1 小时前
基于存储过程的MySQL自动化DDL同步系统设计
数据库·mysql·自动化
摇一摇小肉包的JAVA笔记1 小时前
Redis如何解决缓存击穿,缓存雪崩,缓存穿透
数据库·redis·缓存
wsdchong之小马过河1 小时前
2025虚幻引擎文件与文件夹命名规律
java·数据库·虚幻
东方-教育技术博主2 小时前
spring boot数据库注解
数据库·spring boot·oracle
全栈小53 小时前
【数据库】在线体验KingbaseES平台,零门槛学习,并快速体验Oracle增改查全基础功能
数据库·学习·oracle
189228048614 小时前
NY339NY341美光固态闪存NW841NW843
大数据·数据库
日月星宿~4 小时前
【redis】数据结构及操作命令
数据结构·数据库·redis