什么是联合索引?

概念#

包含两列或更多列以上的索引,称为联合索引;同时又被称为复合索引。

结构图#

匹配规则#

1、联合索引结构上的叶子节点包含了多个索引列。
如上图中所示包含:年龄(age)姓(firstname)名(lastname)

2、在联合索引匹配过程中,首先会将联合索引中的第一个索引条件和节点中的第一个索引列进行匹配。
如果匹配成功,那么接着匹配第二个索引条件和第二个索引列。依次类推,直到所有的索引条件都完成匹配。

假设 SQL 语句如下:
select * from user where age = 12 and firstname like '%李';
开始匹配第一个索引条件 age ,如果搜索到 age = 15 这个索引值时,就进行下一个索引条件 firstname 的匹配,当搜索到 firstname = 王安 这个索引值时,已经不满足索引条件了,并且没有了第三个索引条件,至此索引匹配就结束了。

总结#

本文主要是介绍了联合索引的定义,以及联合索引的存储结构。还通过举例,来说明联合索引的具体匹配规则。
在我们实际编写 SQL 语句的过程中,可能会出现某一个索引条件和节点中的索引列位置不一致的情况。如果出现
这一种情况,那么只会匹配部分的索引列,就提前结束索引的匹配了。我们将会在下一篇文章中介绍联合索引的 "最左匹配原则"。

posted @   Yxh_blogs  阅读(5232)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2017-08-09 在windwo server2008服务器上配置ftp服务器、及配置phpstrom工具、实现项目同步。
点击右上角即可分享
微信分享提示
CONTENTS