大家好,这里是Good Note,关注 公主号:Goodnote,专栏文章私信限时Free。本文详细介绍MySQL索引的关键潜规则——最左前缀原则。
@[toc]
图示单值索引和联合索引
单值索引
* 单值索引(唯一索引、主键索引、全文索引等) 是指在数据库表中创建的、仅涉及单个列的索引。也就是说,单值索引是基于表中的单一列(例如,单个字段)创建的索引结构。单值索引底层的 B+ 树如下所示:
联合索引
* 与单值索引只在一个列上建立,联合索引建在多个列上的索引,通常用于优化多列查询。当查询条件中涉及多个列时,数据库引擎会使用最适合的索引来提高查询效率。
* 联合索引的列顺序非常重要,通常是根据查询中最常用的过滤列进行排序。
联合索引的结构依旧是一颗 B+ 树,只不过联合索引的键值数量不是一个,而是多个,如下图所示:
当索引为联合索引时,数据库会依据联合索引最左的字段来构建 B+ 树,也叫 最左前缀匹配原则。
在上图中,我们假如创建一个 (a, b)