innodb 索引合并

为什么会有索引合并?

在一个查询中使用到了多个二级索引

Intersection合并(交集)

将从多个二级索引中查询到的结果取交集;

select * from table where key1 = 'a' and key3 = 'b';

过程:

  • 从idx_key1二级索引对应的B+树中取出key1='a’的相关记录;
  • 从idx_key3二级索引对应的B+树中取出key3=‘b’的相关记录;
  • 二级索引的记录都是由索引列+主键构成的,所以我们计算出这两个结果集中id值的交集;
  • 按照上一步生成的id值列表进行回表操作,也就是从聚簇索引中把指定id值的完整记录取出来,并返回;
union合并
sort-Union合并

先按照二级索引记录的主键值进行排序,之后按照Union索引合并方式执行的方式叫sort-union索引合并;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值