15、联合索引是什么?为什么需要注意联合索引中的顺序?

联合索引是什么?为什么需要注意联合索引中的顺序?

MySQL可以使用多个字段同时建立一个索引,叫做联合索引。在联合索引中,如果想要命中索引,需要按照建立索引时的字段顺序挨个使用,否则无法命中索引。

具体原因为:

MySQL使用索引时需要索引有序,假设现在建立了"name,age,school"的联合索引,那么索引的排序为: 先按照name排序,如果name相同,则按照age排序,如果age的值也相等,则按照school进行排序。

当进行查询时,此时索引仅仅按照name严格有序,因此必须首先使用name字段进行等值查询,之后对于匹配到的列而言,其按照age字段严格有序,此时可以使用age字段用做索引查找,以此类推。因此在建立联合索引的时候应该注意索引列的顺序,一般情况下,将查询需求频繁或者字段选择性高的列放在前面。

此外可以根据特例的查询或者表结构进行单独的调整。

相关推荐
码流子3 小时前
高速公路视频AI分析,算力该放哪:边缘、中心还是云边协同?
大数据·数据库·人工智能·物联网·音视频
xiaogai_gai3 小时前
委外出入库单从旺店通同步到 MySQL:基于轻易云的实战方案
数据库·mysql
极光通讯3 小时前
国产存储替代进展:长鑫DDR5与长江存储企业级SSD的适配现状
服务器·数据库·内存
Mortalbreeze3 小时前
MySQL 基础篇(十):用户管理
数据库·mysql
小冯不疯3 小时前
物料主数据同步实战:从金蝶云星空到小满OKKICRM的单一策略深度拆解
java·大数据·数据库
Ivanqhz3 小时前
超参数考量与设计
数据库·人工智能·深度学习·算法·机器学习
张小姐的猫3 小时前
【MySQL】表的约束
android·linux·服务器·数据库·c++·mysql·adb
爱吃牛肉的大老虎3 小时前
Redis之分布式 Session问题
数据库·redis·分布式
guo_wen_qiang3 小时前
mongodb集群模式的原理
服务器·数据库·mongodb
captain3763 小时前
Spring Boot日志
java·数据库·spring boot