联合索引

联合索引比单列索引优先

字段a的单列索引, (a,b)的联合索引
查询时使用联合索引

联合索引本质

当创建(a,b,c)联合索引时,相当于创建了(a)单列索引,(a,b)联合索引以及(a,b,c)联合索引
想要索引生效的话,只能使用 a和a,b和a,b,c三种组合;当然,我们上面测试过,a,c组合也可以,但实际上只用到了a的索引,c并没有用到!

聚合索引结构

col1表示的是年龄,col2表示的是姓氏,col3表示的是名字。如下图:
在这里插入图片描述
非叶子节点是按照年龄排序的,叶子点根据年龄排序之后再根据姓氏和名字排序;解释了最左原则

举例

联合索引(a,b,c)
select * from user where a = 1 and b = 1 and c= 1,使用(a,b,c)
select * from user where a = 1 and b = 1 and c> 1,使用(a,b,c)

select * from user where a = 1 and b > 1 and c> 1,使用(a,b)

select * from user where a > 1 and b > 1 and c> 1,使用(a)
范围查询后面的字段,聚合索引用不了
聚合索引只能使用到第一个范围查询列

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值