什么是联合索引?
概念#
包含两列或更多列以上的索引,称为联合索引;同时又被称为复合索引。
结构图#
匹配规则#
1、联合索引结构上的叶子节点包含了多个索引列。
如上图中所示包含:年龄(age)
、姓(firstname)
、名(lastname)
。
2、在联合索引匹配过程中,首先会将联合索引中的第一个索引条件和节点中的第一个索引列进行匹配。
如果匹配成功,那么接着匹配第二个索引条件和第二个索引列。依次类推,直到所有的索引条件都完成匹配。
假设 SQL
语句如下:
select * from user where age = 12 and firstname like '%李';
开始匹配第一个索引条件 age
,如果搜索到 age = 15
这个索引值时,就进行下一个索引条件 firstname
的匹配,当搜索到 firstname = 王安
这个索引值时,已经不满足索引条件了,并且没有了第三个索引条件,至此索引匹配就结束了。
总结#
本文主要是介绍了联合索引的定义,以及联合索引的存储结构。还通过举例,来说明联合索引的具体匹配规则。
在我们实际编写 SQL
语句的过程中,可能会出现某一个索引条件和节点中的索引列位置不一致的情况。如果出现
这一种情况,那么只会匹配部分的索引列,就提前结束索引的匹配了。我们将会在下一篇文章中介绍联合索引的 "最左匹配原则"。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2017-08-09 在windwo server2008服务器上配置ftp服务器、及配置phpstrom工具、实现项目同步。