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

2024-05-29 07:20

本文主要是介绍union all 以及标量子查询执行计划,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


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)

这篇关于union all 以及标量子查询执行计划的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013008

相关文章

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)

C#如何优雅地取消进程的执行之Cancellation详解

《C#如何优雅地取消进程的执行之Cancellation详解》本文介绍了.NET框架中的取消协作模型,包括CancellationToken的使用、取消请求的发送和接收、以及如何处理取消事件... 目录概述与取消线程相关的类型代码举例操作取消vs对象取消监听并响应取消请求轮询监听通过回调注册进行监听使用Wa

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S

PostgreSQL如何查询表结构和索引信息

《PostgreSQL如何查询表结构和索引信息》文章介绍了在PostgreSQL中查询表结构和索引信息的几种方法,包括使用`d`元命令、系统数据字典查询以及使用可视化工具DBeaver... 目录前言使用\d元命令查看表字段信息和索引信息通过系统数据字典查询表结构通过系统数据字典查询索引信息查询所有的表名可