explain 之热身 case |学习笔记

简介: 快速学习 explain 之热身 case

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

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


explain 之热身 case


一.释义

为了后续的索引优化和调优查错,先得打牢 explain 的基础。

mysq1> explain select d1.nane,( select id fron t3)d2

-> from ( select id , nane fron t1 uhere other _ colunn *')d1

-> union

->( select nane , id fron t2);

Iid Iselect _ type Itable I type Ipossible _ keys Ikey Ikey _ len Iref Irows IExtra

IPRIMARY  Isysten IHULL HULL IHULL I HULL I

I DERIUED ALL I HULL HULL I HULL I HULLI Using vhere

I sUBQUERY t3 I index I HULL PRIMARY I4 I HULL I 1 IUsing indexI

I UHION I ALL HULL HULL IHULL IHULLI

I HULL IUNION RESULT I nion1,4> IALL HULL HULL I HULL IHULL INULL

5 rows in set (0.01 sec )

image.png

第一行(执行顺序4):

id 列为1,表示是 union 里的第一个 select , select type 列的 primary 表示该查询为外层查询, table 列被标记为,表示查询结果来自一个衍生表,其中derived33代表该查询衍生自第三个 select 查询, id 3 select

select d1.name.…….

第二行(执行顺序2):

id 3,是整个查询中第三个select 的一部分。因查询包含在 from ,所以为 derived .

select id , name from t1 where other _ column ="

第三行(执行顺序3):

select 列表中的子查询 select_type subquery ,为整个查询中的第二个 select

select id from t3

第四行(执行顺序1):

select _ type union ,说明第四个 select union 里的第二个 select ,最先执行 select name , id from t2

第五行(执行顺序5):

代表从 union 的临时表中读取行的阶段, table 列的表示用第一个和第四个 select 的结果进行 union 操作。【两个结果 union 操作】

相关文章
|
4月前
|
Java Spring
巧用switch-case消除条件判断
`shigen`是一位致力于撰写博客文章的作者,通过记录成长历程、分享见解并留住感动瞬间。在其文章中,`shigen`介绍了多种消除if-else代码的方法,包括使用HashMap、枚举以及switch-case。最新示例展示了如何通过简洁的switch-case语句处理不同类型的请求,代码优雅且直观。此外,还预告了下一章节将探讨如何利用Spring框架的IOC能力来进一步优化条件判断。与`shigen`一起探索编程世界的每一天都充满新意!**个人IP:shigen**
44 0
巧用switch-case消除条件判断
|
4月前
|
SQL Oracle 关系型数据库
CASE WHEN 语句的语法及示例,LeetCode 题目 “确认率” 练习
本文介绍了SQL中CASE语句的两种形式和语法,并通过LeetCode题目“确认率”的SQL查询示例展示了CASE语句在实际问题中的应用,解释了如何使用CASE语句计算特定条件的比率。
|
4月前
|
SQL
SQL: 巧妙使用CASE WHEN实现查询
文章演示了如何利用SQL中的CASE WHEN语句来有效地进行条件性聚合查询,通过具体示例展示了CASE WHEN在统计分析中的应用技巧。
98 0
|
8月前
|
Python
Python基础教程——break语句
Python基础教程——break语句
|
SQL 架构师 关系型数据库
不可置信!SQL 优化终于干掉了“distinct”
sql 优化之多表联合查询干掉 “distinct” 去重关键字 在我提交了代码的时候,架构师给我指出我这个sql这样写会有问题。因为在分库分表的时候,是不支持子查询的。 所以需要把多表的子查询的 sql 结构进行优化。 是不是挺恐怖的;(此处为了脱敏,我把相关的 sql 关键词都给打码掉了)
|
关系型数据库 MySQL 数据库
【MySQL作业】avg 和 count 函数——美和易思聚合函数应用习题
【MySQL作业】avg 和 count 函数——美和易思聚合函数应用习题
153 0
【MySQL作业】avg 和 count 函数——美和易思聚合函数应用习题
|
关系型数据库 MySQL 数据库
【MySQL作业】sum、max 和 min 聚合函数——美和易思聚合函数应用习题
【MySQL作业】sum、max 和 min 聚合函数——美和易思聚合函数应用习题
115 0
【MySQL作业】sum、max 和 min 聚合函数——美和易思聚合函数应用习题
|
SQL 数据库
三分钟搞懂SQL的Case函数
三分钟搞懂SQL的Case函数
252 0
三分钟搞懂SQL的Case函数
|
SQL Java 程序员
判断是否"存在",还在用count?试试这条SQL语句,性能杠杠的!
判断是否"存在",还在用count?试试这条SQL语句,性能杠杠的!
187 0