原文网址:MySQL索引系列--联合索引--使用/原理/优化_IT利刃出鞘的博客-CSDN博客
简介
本文介绍MySQL的联合索引(也可以称为:组合索引、复合索引)的用法。
MySQL一次查询只能使用一个索引。如果要对多个字段使用索引,需要建立复合索引。
技术资料与交流 ==> 分享靠谱资料:Java真实面试题汇总、简历模板、PDF书籍、PPT模板等;分享Java实用技术;帮助优化简历。详见:资料与交流
联合索引的原理
联合索引是对多个列进行索引。
- 联合索引也是一棵B+树。
- 联合索引的键值数量不是1,而是大于等于2。
- B+树在对第一个索引排序的基础上,对第二个索引排序
- 联合索引遵循最左前缀(最左匹配)原则。
假定上图联合索引的为(a,b),B+树在对索引a排序的基础上,对索引b排序。所以数据按照(1,1), (1,2), (2,1), (2,4), (2,4), (3,1), (3,2)顺序排放。
从整体来看
- a是有序的:1,1,2,2,3,3
- b是无序的:1,2,1,4,1,2
从局部来看
当a的值确定的时候,b是有序的。例如a = 1时,b值为1,2是有序的状态。当a=2时候,b的值为1,4也是有序状态。
上边只是部分内容,为便于维护,本文已迁移到此地址:MySQL联合索引-使用/原理/优化 - 自学精灵