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

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

联合索引的顺序

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

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

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

如何设计联合索引?

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

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

相关推荐
v***91306 小时前
【MySQL】JDBC的连接
数据库·mysql
j***51896 小时前
Redis 安装及配置教程(Windows)【安装】
数据库·windows·redis
A***F1579 小时前
Redis开启远程访问
数据库·redis·缓存
v***44679 小时前
【MySQL — 数据库基础】深入理解数据库服务与数据库关系、MySQL连接创建、客户端工具及架构解析
数据库·mysql·架构
v***59839 小时前
Django视图与URLs路由详解
数据库·django·sqlite
i***48619 小时前
MySQL中的GROUP_CONCAT()函数详解与实战应用
数据库·mysql
K***43069 小时前
MySQL中的TRUNCATE TABLE命令
数据库·mysql
tyatyatya9 小时前
MATLAB图形标注教程:title()/xlabel()/ylabel()/legend()/grid on全解析
数据库·matlab·信息可视化
e***95649 小时前
DBeaver连接本地MySQL、创建数据库表的基础操作
数据库·mysql
左灯右行的爱情9 小时前
MySQL高并发-主从架构
数据库·mysql·架构