explain 之 ref 介绍|学习笔记

简介: 快速学习 explain 之 ref 介绍

开发者学堂课程【MySQL 高级应用 - 索引和锁explain 之 ref 介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/598/detail/8604


explain 之 ref 介绍


一.释义

type 里面有个值是 ref,这个值说明我们用到的索引是非唯一性扫描,按照值返回,是所有匹配的行。简单来说就是用到的索引查出了多条值。

显示索引的哪一列被使用了,如果可能的话,是一个常数。

哪些列或常量被用于查找索引列上的值。

image.png

mysql) ekplaln select t2. From

select t3.ld-> from t3

where t3.other_ colun В**)s1,t2

-> here 1.idt2.id:

1dIseleet_ type Itable type possible _ keys Ikey 0 key _ lenIrefIrous IExtra

1 IPRI  RY system HLL HILL HILL

PRiMRy const PRI Н AR PRI Н ARY

DERIVED LL HILL

Э rous in set (0.00 sec )

id 如果相同,可以认为是一组,从上往下顺序执行;

在所有组中, id 值越大,优先级越高,越先执行

衍生= DERIVED

ysq1> explaln SELEC Тt2.-

FR0H2

大优先级

)SELFe FROH t

HERE id .( SELEC Тt3.id

RIH

HERE3.other_ colunn в"):

select _ type tabIetype Ipassible _ keys Ikey key _1en Iref Iro5IExtra

co0st PRIAR PRIHAR

co0st/ PRIHAR Using index

SUBQUERv LL LL L using here

rous n set (0.00 sec

如果是子查询, id 的序号会递增, d 值越大优先级越高;越先被执行。

mysq1> explain select uhere t1.co11.t2.co11 and t1.co12 ac

Iid table Itype Ipossible _ keys Ikey Ikey _ len re rou5

ALL IHULL I HUL I HULL I HULL 640

Iidx _co11_co12 iidx _co11_co12 26 shared .t2.col1, const

2rows in set (0.01 sec )

key _ len 可知t1表的 idx _col1_col2 被充分使用,qol1 匹配 t2 表的 col1,col2 匹配了一个常量,即' ac

查询中与其它表关联的字段,外键关系建立索引

相关文章
|
域名解析 缓存 网络协议
Linux DNS服务详解——DNS基础知识
Linux DNS服务详解——DNS基础知识
532 1
|
XML JSON 定位技术
06 公众号开发 - 接收普通消息和被动回复消息
06 公众号开发 - 接收普通消息和被动回复消息
307 0
|
测试技术 领域建模 定位技术
基于事件风暴的需求分析 | 方法案例一
事件风暴(Event Storming)源自领域驱动设计社区,由 Alberto Brandolini 在2012 年发明[1]。 事件风暴最早的名字是基于事件的建模(Event-Based Modeling),正如这个名字所暗示的,事件风暴在发明之初的核心目的是领域建模,在今天的大多数文献和实践中,事件风暴的核心关注点都是领域模型和软件架构。
4701 2
基于事件风暴的需求分析 | 方法案例一
|
2月前
|
Arthas 监控 数据可视化
深入理解JVM《JVM监控与性能工具实战 - 系统的诊断工具》
掌握JVM监控与诊断工具是Java性能调优的关键。本文系统介绍jps、jstat、jmap、jstack等命令行工具,以及jconsole、VisualVM、JMC、Arthas、async-profiler等可视化与高级诊断工具,涵盖GC分析、内存泄漏定位、线程死锁检测及CPU热点追踪,助力开发者全面提升线上问题排查能力。(238字)
|
3月前
|
存储 消息中间件 NoSQL
【Redis】常用数据结构之List篇:从常用命令到典型使用场景
本文将系统探讨 Redis List 的核心特性、完整命令体系、底层存储实现以及典型实践场景,为读者构建从理论到应用的完整认知框架,助力开发者在实际业务中高效运用这一数据结构解决问题。
|
6月前
|
Java 关系型数据库 MySQL
【Spring】【事务】初学者直呼学会了的Spring事务入门
本文深入解析了Spring事务的核心概念与使用方法。Spring事务是一种数据库事务管理机制,通过确保操作的原子性、一致性、隔离性和持久性(ACID),维护数据完整性。文章详细讲解了声明式事务(@Transactional注解)和编程式事务(TransactionTemplate、PlatformTransactionManager)的区别与用法,并探讨了事务传播行为(如REQUIRED、REQUIRES_NEW等)及隔离级别(如READ_COMMITTED、REPEATABLE_READ)。
493 1
|
存储 JSON 安全
如何使用 JSON Web Tokens 进行身份验证?
总的来说,JWT 是一种强大而灵活的身份验证方式,通过正确使用和管理,可以为应用提供可靠的身份验证机制,同时提高系统的可扩展性和安全性。在实际应用中,需要根据具体的需求和场景,合理设计和实施 JWT 身份验证方案。
370 63
|
Java 测试技术
SpringBoot 项目启动内存占用过高优化以及内存查看
SpringBoot 项目启动内存占用过高优化以及内存查看
1710 0
|
Java 数据库连接 Spring
一文讲明 Spring 的使用 【全网超详细教程】
这篇文章是一份全面的Spring框架使用教程,涵盖了从基础的项目搭建、IOC和AOP概念的介绍,到Spring的依赖注入、动态代理、事务处理等高级主题,并通过代码示例和配置文件展示了如何在实际项目中应用Spring框架的各种功能。
一文讲明 Spring 的使用 【全网超详细教程】
|
SQL NoSQL MongoDB
MongoDB 索引类型介绍
MongoDB 索引类型介绍
468 3