Mysql 索引--最左前缀法则

文章介绍了联合索引的概念,如在emp表上创建age和gender的联合索引。最左前缀法则说明查询时需从索引的最左侧列开始,不能跳过。例子展示查询gender时使用了索引,但未查询age时索引失效。而查询时虽非最左列,但只要包含最左列,索引仍可被利用。
摘要由CSDN通过智能技术生成

首先最左前缀法则适用于联合索引,什么是联合索引?简单来说就是表上多个列加起来组合成的一个索引(例1)。最左前缀法则指的是查询的时候从索引最左列开始并且不能跳过索引中的列。如果跳跃某一列后面的字段索引失效。(例2)

例1、

        比如我们现在有个表emp 分别有id、name、age、gender、adress列

创建联合索引  create index ind_age_gender on emp(age,gender);

        show index from emp;

这里创建的名为ind_age_gender的索引就是联合索引.

 

例2、

        如图我创建了一个联合索引 性别、年龄、身份证号3b9b4ad08d144221aa24000ea0729f43.png

 第一次查询,索引最左测原则我查的带了gender这个最左测索引

77dfb489081f4b4f844048600e0aa257.png

 第二次查询 ,索引没有带最左测索引gender 就发现失效了6646dc4e8eda49bb980a6dac7f13aac9.png

 第三次查询,带了最左测索引但是不是放在前面但是还是用到了索引4a31f222baae4fb98b6cf2578ecbe61a.png

 所以 总结下,首先最左前缀法只适用于联合索引,其次和最左测索引的位置没有关系主要看她是否存在。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值