explain 之 select-type 和 table 介绍|学习笔记

简介: 快速学习 explain 之 select-type 和 table 介绍

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

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


explain 之 select-type 和 table 介绍


目录:

一. select-type 有哪些

二. select-type 查询类型


一. select-type 有哪些

1.SIMPLE

2.PRIMARY

3.SUBQUERY

4.DERIUED

5.UNION

6.UNION RESULT

 

二. select-type 查询类型

主要是区别普通查询\联合查询\子查询等的复杂查询

1.SIMPLE [简单的 select 查询,查询中不包含子查询或者 union ]

2.PRIMARY [查询中若包含人和复杂的子部分,最外层查询则被标记为 primary ]

3.SUBQUERY [select where 列表中包含子查询]

4.DERIUED [from 列表中包含的子查询被标记为 derived 衍生, MySQL 会递归执行这些子查询,把结果放在临时表里(临时表有时候是会增加系统负担,但是有时候不得不用。因为两个变量做交换,必须要有一个临时变量拿他做交换。).]

5.UNION [若第二个 select 出现在 union 之后,则被标记为 union ;union 包含在 from 子句的子查询中,外层 select 被标记为 derived ]

6.UNION RESULT [union 表获取结果的 select (两种 union 结果的合并)]

mysq1> se leet " fro Вtb1_ enp a left join tb1_ dept bon a . deptId b . id
union
se lect
fro В tbl _ emp aright , join tb1_ dept bon a . de ptld = b . id :
I nano Ideptld Iid IdeptName IIoc Add I
DERIVED
NS NtLL NtLL
NTLL NUu . FDmysq !> se lect
fro В tb . a left join tb _ dept bon a . dept ld = b . id union se lect from tb1
евр a right Join tb1_ dept on aadeptld = b . id
mysq1> explain se lect
fron tb1_ emp aleft Join tb1_ dept bon a . deptld = b . id union se lect r
Г on tbl _ omp a right join tb1_ dept bon a . dept ld b . id :
idIse lect _ type Lable ype I possible _ keys I key i key _ len I ref
l ro В sIExtra
IPRIMARY ALL INULL I NULL I NTLL I NULL DERIVED
l PRIMARY i eq _ ref I PRIMARY I PRIMARY I db0629.a. de
ptId
2UNION IALL I NLL I krLL I NL Ц. INUL
UNION Iref I fk _ dept _ Id I k _ dept _ d Is I db0629.b. id
NELL RESULT < unionl .2> IALL I NLL INIL I NULL I NLLL

相关文章
|
关系型数据库 MySQL Docker
阿里云容器镜像加速器
使用容器时一般需要首先下载一个容器镜像,例如Docker Hub官方提供的MySQL、WordPress等容器镜像。然而由于网络原因,下载一个Docker官方镜像可能会需要很长的时间,甚至下载失败。为此,阿里云容器镜像服务ACR提供了官方的镜像站点,从而加速官方镜像的下载。 ## 获取镜像加速器地址 ACR会为每一个账号(阿里云账号或RAM用户)生成一个镜像加速器地址,配置镜像加速器前,您需要获取镜像加速器地址。
3498 0
|
程序员 编译器 C语言
最新Dev-C++下载安装以及C语言环境搭建教程(含C语言入门教程)
最新Dev-C++下载安装以及C语言环境搭建教程(含C语言入门教程)
2079 0
|
负载均衡 Java API
SpringCloud之OpenFeign介绍案例+相关面试题
OpenFeign是一个声明式的WEB服务客户端,它使WEB服务客户端变得更加容易。具有可插拔的注解支持,SpringCloud中添加了SpringMVC注解的支持。SpringCloud中集成了Ribbon和Eureka,以及SpringCloud LoadBalance,以便在使用Feign时提供负载均衡的HTTP客户端Feign是一个远程调用的组件集成了Ribbon,默认的负载均衡策略是轮询
1131 0
|
8月前
|
XML JSON 监控
深入研究:1688 商品列表 API 详解
1688商品列表API为电商数据分析、竞品调研等场景提供程序化数据获取方式。通过关键词、价格区间、销量范围及类目等条件筛选商品,返回商品标题、价格、销量等基本信息。支持HTTP GET/POST请求,响应格式为JSON或XML,助力业务分析与决策。
|
缓存 NoSQL PHP
Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出
本文深入探讨了Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出。文章还介绍了Redis在页面缓存、数据缓存和会话缓存等应用场景中的使用,并强调了缓存数据一致性、过期时间设置、容量控制和安全问题的重要性。
261 5
|
SQL druid 数据库
如何进行数据库连接池的参数优化?
数据库连接池参数优化包括:1) 确定合适的初始连接数,考虑数据库规模和应用需求;2) 调整最大连接数,依据并发量和资源状况;3) 设置最小空闲连接数,平衡资源利用和响应速度;4) 优化连接超时时间,确保系统响应和资源利用合理;5) 配置连接有效性检测,定期检查连接状态;6) 调整空闲连接回收时间,适应访问模式并配合数据库超时设置。
|
存储 数据库 虚拟化
无缝过渡:企业级服务器迁移的策略与最佳实践
【10月更文挑战第4天】随着企业数字化转型的加速,服务器迁移成为企业IT基础设施升级的重要环节。本文从架构与规划的视角,探讨了企业级服务器迁移的策略与最佳实践,旨在帮助企业实现无缝过渡,降低迁移风险,提高迁移效率。
967 4
|
数据采集 异构计算
实验室自用LabVIEW软件与商用软件价格差异分析
实验室自用LabVIEW软件与商用软件价格差异分析
271 2
|
存储 SQL 关系型数据库
MySQL数据库——存储过程-循环(while、repeat、loop)
MySQL数据库——存储过程-循环(while、repeat、loop)
2120 0
|
缓存 BI 数据处理
Cron表达式浅析
Cron表达式浅析
594 1