mysql 最左原则原理「联合索引原理」

作者头像
流年碎影
回答于 2023-03-21 17:15:10 阅读 775
mysql 最左原则原理「联合索引原理」

mysql 最左原则原理

1、索引本质是一棵B+Tree,联合索引(col1, col2,col3)也是。

2、其非叶子节点存储的是第一个关键字的索引,而叶节点存储的则是三个关键字col1、col2、col3三个关键字的数据,且按照col1、col2、col3的顺序进行排序。

3、联合索引(年龄, 姓氏,名字),叶节点上data域存储的是三个关键字的数据。

4、且是按照年龄、姓氏、名字的顺序排列的。

5、而最左原则的原理就是,因为联合索引的B+Tree是按照第一个关键字进行索引排列的。

mysql最左原则原理

1、最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。

2、最左匹配原则都是针对联合索引来说的,所以我们可以从联合索引的原理来了解最左匹配原则。

3、我们都知道索引的底层是一颗 B+ 树,那么联合索引当然还是一颗 B+ 树,只不过联合索引的键值数量不是一个,而是多个。

4、构建一颗 B+ 树只能根据一个值来构建,因此数据库依据联合索引最左的字段来构建 B+ 树。

联合索引原理

联合索引又叫复合索引,是MySQL的InnoDB引擎中的一个索引方式,如果一个系统频繁地使用相同的几个字段查询结果,就可以考虑建立这几个字段的联合索引来提高查询效率。

声明:图文来源于互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系网站客服,一经查实,本站将立刻删除。

最新推荐