union all 以及标量子查询执行计划

news2024/10/7 3:17:15


SELECT  1, (SELECT ID1 FROM TE WHERE ID=A.ID2)  
FROM .TA A
WHERE COLA= 'X' UNION ALL


SELECT   1, (SELECT ID2 FROM TD WHERE ID=A.ID1)  
FROM .TB A
WHERE COLA= 'X' UNION ALL


SELECT  1,COL2 AS PARENT_UUID FROM .TC a
WHERE COLA= 'X'  

三个union all 看着像是5个table join,其实有两个是子查询,要反着看 2 3 4 5列的执行计划。

---------------------------------------------------------------------------------------------------------------------
| Id  | Operation                                     | Name                       | Rows | Bytes | Cost | Time     |
---------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                              |                            |    3 |   174 |   11 | 00:00:01 |
|   1 |   UNION-ALL                                   |                            |      |       |      |          |
|   2 |    TABLE ACCESS BY GLOBAL INDEX ROWID BATCHED | TE               |    1 |    34 |    3 | 00:00:01 |
| * 3 |     INDEX RANGE SCAN                          | TE_PK            |    1 |       |    2 | 00:00:01 |
|   4 |    PARTITION LIST SINGLE                      |                            |    1 |    29 |    2 | 00:00:01 |
|   5 |     TABLE ACCESS FULL                         | TA |    1 |    29 |    2 | 00:00:01 |

|   6 |    TABLE ACCESS BY GLOBAL INDEX ROWID BATCHED | TD                |    1 |    34 |    2 | 00:00:01 |
| * 7 |     INDEX RANGE SCAN                          | TD_PK             |    1 |       |    1 | 00:00:01 |
|   8 |    PARTITION LIST SINGLE                      |                            |    1 |    29 |    2 | 00:00:01 |
|   9 |     TABLE ACCESS FULL                         | TB          |    1 |    29 |    2 | 00:00:01 |
|  10 |    PARTITION LIST SINGLE                      |                            |    1 |    29 |    2 | 00:00:01 |
|  11 |     TABLE ACCESS FULL                         | TC           |    1 |    29 |    2 | 00:00:01 |
---------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
------------------------------------------
* 3 - access("ID"=:B1)
* 7 - access("ID"=:B1)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1710891.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

做好开源快速开发平台研发创新 助力行业高效发展!

随着信息化时代的到来,科技的力量无处不在。为了提高办公效率,很多大中型企业倾向于使用更为先进的软件平台来助力企业降本增效。在众多助力神器之中,开源快速开发平台低代码技术平台深得广大新老客户朋友的喜爱,它与生俱来的优势…

Python中Web开发-Django框架

大家好,本文将带领大家进入 Django 的世界,探索其强大的功能和灵活的开发模式。我们将从基础概念开始,逐步深入,了解 Django 如何帮助开发人员快速构建现代化的 Web 应用,并探讨一些最佳实践和高级技术。无论是初学者还…

APM2.8内置罗盘校准

如果你有外置罗盘,可以不用校准内置罗盘,可以忽略此文。推荐使用外置罗盘,内置罗盘容易受干扰。 使用内置罗盘需要插入飞控GPS接口旁边的跳线帽。如图: 如果要使用内置罗盘,而又加了GPS的,记得一定要把GPS…

手机性能过剩?三年前的改名芯片卡顿明显,中端机太弱鸡了

业界人士都喜欢说手机的性能已经严重过剩,笔者近期从运营商购买了两款手机,搭载的芯片是联发科的改名芯片,以及高通的低端芯片,使用中明显卡顿,显示出这些改名芯片的性能早已落后于时代。 其中一款为OPPO A2&#xff0…

【Mybatis】映射文件中获取参数的符号#{}和${}的区别

在xml映射文件中获取参数的符号都是用的#{}的方式,其实Mybatis还支持另一种符号来接收传递过来的参数值,就是${},他们是区别就在与底层使用jdbc的statement不一样 #{}对应的是PreparedStatementd对象来执行sql语句 ${}对应的是Statement对象…

【TCP协议中104解析】wireshark抓取流量包工具,群殴协议解析基础

Tcp ,104 ,wireshark工具进行解析 IEC104 是用于监控和诊断工业控制网络的一种标准,而 Wireshark则是一款常用的网络协议分析工具,可以用干解析TEC104 报文。本文将介绍如何使用 Wireshark解析 IEC104报文,以及解析过 程中的注意事项。 一、安…

Revit——(2)模型的编辑、轴网和标高

目录 一、关闭缩小的隐藏窗口 二、标高(可创建平面,其他标高线复制即可) 三、轴网 周围的四个圈和三角表示四个里面,可以移动,不要删除 一、关闭缩小的隐藏窗口 二、标高(可创建平面,其他标…

JDK9-21新特性概览(持续更新)

JDK9-21新特性概览 一、JDK9新特性1.1 JEP 102: Process API Updates简介案例风险 1.2 JEP 193: Variable Handles简介案例风险 1.3 JEP 200: The Modular JDK简介案例风险 1.4 JEP 213: Milling Project Coin简介案例1.1 try-with-resources增强1.2 接口中私有方法 1.5 JEP 22…

Sentinel-2 哨兵二号数据介绍及下载

1 Sentinel-2简介 SENTINEL-2 is a European wide-swath, high-resolution, multi-spectral imaging mission. Sentinel-2 是高分辨率多光谱成像卫星,一颗卫星的重访周期为10天,两颗互补,重访周期为5天。分为2A和2B两颗卫星。2A于2015年6月…

【Mybatis】映射文件中获取参数的类型是集合或数组处理

基本数据类型的参数或者对象作为参数的情况,在Mybatis还有一些特殊处理的参数类型要特别注意:如果参数类型是集合Collection(List,Set)或者是数组,Mybatis也会把这些类型的参数封装在一个Map对象中传递到xm…

电脑记事软件哪款安全?好用且安全的桌面记事工具

在快节奏的现代生活中,我们每天都要用电脑处理大量的工作。电脑不仅提升了工作效率,还成为了我们记录重要事项和灵感的得力助手。比如,在策划项目时,我会直接在电脑上列出要点和步骤;在开会时,我也会用电脑…

Python | Leetcode Python题解之第117题填充每个节点的下一个右侧节点指针II

题目: 题解: class Solution:def connect(self, root: Node) -> Node:if not root:return Nonestart rootwhile start:self.last Noneself.nextStart Nonep startwhile p:if p.left:self.handle(p.left)if p.right:self.handle(p.right)p p.nex…

【Mybatis】映射文件中获取单个参数和多个参数的写法

xml的映射文件中获取接口方法中传来的参数是直接用#{}的方式来获取的 那么接下来,我们就具体来说一下获取参数里边的各种规则和用法 1.单个参数,比如上面的getOneUser,只有一个id值作为参数 Mybatis对于只有一个参数的情况下,不…

【深度学习】Transformer梳理

零、前言 对于transformer,网上的教程使用记号、术语不一 。 最关键的一点,网上各种图的简化程度不一 (画个图怎么能这么偷懒) ,所以我打算自己手画一次图。 看到的最和善(但是不是那么靠谱,我…

Qt 项目(CMake)支持多国语言(2024/05)

目录 1.在工程手动创建languages文件夹2.修改CMakeLists.txt3.在qml上随便添加一下文字内容4.执行CMake5.把.ts和.qm添加到项目中6.翻译成英文的示例7.在main里面加载语言文件8.启动软件自动获取电脑的语言遗留问题 参考:Qt 项目(CMake)设置国际化支持 1.在工程手动创建langua…

AIGC中国开发者大会:AI Agent中国落地发展现状及多模态结合具身智能的发展展望

引言 2024年5月25日,第三届AIGC中国开发者大会在昆仑巢成功举办。本次大会围绕“AI Agent的国内应用现状及多模态结合具身智能的发展展望”这一主题,邀请了多位知名企业家、投资人以及技术专家,共同探讨大模型在中国各行各业的应用现状及未来…

基于粒子群算法的网络最优节点部署优化matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于粒子群算法的网络最优节点部署优化,实现WSN网络的节点覆盖最大化。 2.测试软件版本以及运行结果展示 MATLAB2022A版本运行 3.核心程序 .................…

Paddle Inplace 使用指南

Paddle Inplace 使用指南 1. 引言 在深度学习领域,框架的选择对模型的训练效率和资源消耗有着直接的影响。PaddlePaddle(飞桨)是一个由百度开发的全面、灵活和高效的深度学习平台。本文旨在介绍和分享 Paddle Inplace 机制的使用指南&#…

Java | Leetcode Java题解之第117题填充每个节点的下一个右侧节点指针II

题目: 题解: class Solution {Node last null, nextStart null;public Node connect(Node root) {if (root null) {return null;}Node start root;while (start ! null) {last null;nextStart null;for (Node p start; p ! null; p p.next) {if…

树莓派指令

1.常用指令 2.在终端窗口编辑文本文件 2.1nano编辑器 在文本里ctrlG就可以查看更多的快捷按键 2.2vi编辑器 进入默认为命令模式