13. 知道什么是左前缀原则嘛 ?

简介: MySQL的联合索引遵循左前缀原则,检索时从索引的最左侧字段开始匹配。例如,对`age`, `name`, `sex`创建的组合索引`index_age_name_sex`,相当于建立了`(age)`, `(age,name)`, `(age,name,sex)`三个独立索引。查询时,只有包含最左边字段的条件才会使用索引。例如:`WHERE age=49`和`WHERE age=49 AND name='Alice'`会使用索引,但`WHERE sex='man'`不会。查询优化器会自动调整WHERE子句顺序以利用合适索引。

13. 知道什么是左前缀原则嘛 ?

在mysql建立联合索引时会遵循左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配,组合索引的第一个字段必须出现在查询组句中,这个索引才会被用到 ;

例如 : create index index_age_name_sex on tb_user(age,name,sex);

上述SQL语句对 age,namesex建一个组合索引index_age_name_sex,实际上这条语句相当于建立了(age) ,  (age,name) , (age,name,sex)三个索引 .

select * from tb_user where age = 49 ;  -- 使用索引

select * from tb_user where age = 49 and name = 'Alice' ;  -- 使用索引

select * from tb_user where age = 49 and name = 'Alice' and sex = 'man';  -- 使用索引

select * from tb_user where age = 49  and sex = 'man';  -- 使用索引 , 但是只有 age 匹配索引 sex没有走索引

select * from tb_user where name = 'Alice' and age = 49 and sex = 'man' ;  -- 使用索引 ,  因为MySQL的查询优化器会自动调整 where 子句的条件顺序以使用适合的索引

select * from tb_user where name = 'Alice'  and sex = 'man' ;  -- 不会使用索引
目录
相关文章
|
监控 架构师 Java
JVM 11 调优指南:如何进行JVM调优,JVM调优参数
JVM 11的优化指南:如何进行JVM调优,以及JVM调优参数有哪些”这篇文章将包含JVM 11调优的核心概念、重要性、调优参数,并提供12个实用的代码示例,每个示例都会结合JVM调优参数和Java代码
606 2
|
监控 架构师 Java
JVM 8 调优指南:如何进行JVM调优,JVM调优参数
这篇文章将详细介绍如何进行JVM 8调优,包括JVM 8调优参数及其应用。此外,我将提供12个实用的代码示例,每个示例都会结合JVM启动参数和Java代码。JVM调优是指通过调整Java虚拟机的配置来提升Java应用程序的性能。这包括优化堆内存设置、选择合适的垃圾收集器以及调整其他性能相关的参数。
1177 0
|
SQL 数据库 UED
SQL性能提升秘籍:5步优化法与10个实战案例
在数据库管理和应用开发中,SQL查询的性能优化至关重要。高效的SQL查询不仅可以提高应用的响应速度,还能降低服务器负载,提升用户体验。本文将分享SQL优化的五大步骤和十个实战案例,帮助构建高效、稳定的数据库应用。
1013 3
|
消息中间件 中间件 Kafka
分布式事务最全详解 ,看这篇就够了!
本文详解分布式事务的一致性及实战解决方案,包括CAP理论、BASE理论及2PC、TCC、消息队列等常见方案,助你深入理解分布式系统的核心技术。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
分布式事务最全详解 ,看这篇就够了!
|
监控 安全 架构师
JVM 17 调优指南:如何进行JVM调优,JVM调优参数
在这篇文章中,我会详细介绍JVM调优的概念、重要性和具体的JVM调优参数。此外,我将提供12个实用的代码示例,每个示例都会包含JVM调优参数和相应的Java代码。JVM调优是调整和配置Java虚拟机(JVM)的过程,以便最大限度地提高应用程序的性能和效率。这涉及到调整内存设置、选择合适的垃圾收集器,以及配置各种性能参数。
1158 0
|
SQL 缓存 监控
SQL性能提升指南:五大优化策略与十个实战案例
在数据库性能优化的世界里,SQL优化是提升查询效率的关键。一个高效的SQL查询可以显著减少数据库的负载,提高应用响应速度,甚至影响整个系统的稳定性和扩展性。本文将介绍SQL优化的五大步骤,并结合十个实战案例,为你提供一份详尽的性能提升指南。
1156 0
|
安全 Shell Linux
【Shell 命令集合 系统管理 内置命令】Linux 将系统进入挂起(暂停)suspend命令 使用指南
【Shell 命令集合 系统管理 内置命令】Linux 将系统进入挂起(暂停)suspend命令 使用指南
360 1
|
自然语言处理 JavaScript 前端开发
javaScript-06 表单验证 详细易懂,加案例分析
javaScript-06 表单验证 详细易懂,加案例分析
266 0
|
XML 网络协议 网络架构
WebService - 基础详解
WebService - 基础详解
732 0
|
Arthas 监控 Java
Arthas使用教程(8大分类)
Arthas使用教程(8大分类)
1305 0