关于最左匹配原则, 复合索引的建立

来源:3-9 索引额外问题之最左匹配原则的成因

坐看落花

2020-03-31

不太清楚它是如何建立复合索引的, 老师视频上大致说了两个字段的联合索引(a,b )的建立, 先按照a 建b±tree, 然后子节点 中按照b字段排序, 这里如果会有更多字段建立的复合索引, 这样应该不太行;
我能想到的是按照层进行建立B±tree, 具体点就是说 如果建立(a,b,c,d) 索引, 会先按照a进行排序建立 B±tree, 然后此时叶子结点是a排序后的结果, 每个结点可以看成一个数组,这个数组包含a相等, b,c,d不等的 key值(是a,b,c,d的组合值), 然后从叶子结点再往下走, 建立以b为排序根据的子树, 此时所有的叶子结点是以a,b排序的, 然后再往下 是按照c建立B±tree 一直到最后, 此时最终的叶子结点才指向了数据
但是这种树太高了点, 而且 每层从叶子结点建立的新的B±tree 都是和其他叶子结点都是重复的, 这个也不太好.

写回答

1回答

翔仔

2020-04-01

同学好,应该是长链接的这样的,我里面的表述没错呢,不是同学说的那样

https://www.xuanxuan.site/article/MySQL%E8%81%94%E5%90%88%E7%B4%A2%E5%BC%95%E4%B8%8E%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/

不然不容易满足最左匹配原则,或者树就太长了

0
4
Sammie_Lo
老师给的链接打不开,查了下:https://segmentfault.com/q/1010000017579884 结构如链接答案? 更详细版本:https://juejin.cn/post/6844904073955639304#heading-5
2021-06-09
共4条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程