oracle sys_b_0,oracle - 跟踪文件oracle。 如何将名称'SYS_TEMP_0FD9D6616_3CFB8B'(或对象ID = -40016362)与特定的实现块(wit...

这篇博客探讨了Oracle数据库中执行计划的重要性,特别是LOAD AS SELECT操作如何用于创建临时表,并展示了如何通过EXPLAIN PLAN分析查询的执行步骤。文章通过一个具体的SQL查询示例,解释了临时表在连接操作中的作用,以及如何通过查询计划来理解数据的处理流程。
摘要由CSDN通过智能技术生成

执行计划通常是一个很好的指标。 LOAD AS SELECT将向您显示创建临时表的阶段,然后对临时表的访问将出现在计划的后面。 通过查看“ LOAD AS SELECT”下的“操作”,希望可以将其绑定到查询中的SQL文本

SQL> create table t as select * from dba_Objects;

Table created.

SQL>

SQL> set autotrace traceonly explain

SQL> with

2 t1 as

3 ( select /*+ materialize */ owner, count(*) c1

4 from t

5 group by owner ),

6 t2 as

7 ( select /*+ materialize */ owner, max(object_id) c2

8 from t

9 group by owner ),

10 t3 as

11 ( select /*+ materialize */ t1.owner, c1,c2

12 from t1,t2

13 where t1.owner = t2.owner )

14 select * from t3;

Execution Plan

----------------------------------------------------------

Plan hash value: 4120770359

-------------------------------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes |

-------------------------------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 37 | 3404 |

| 1 | TEMP TABLE TRANSFORMATION | | | |

| 2 | LOAD AS SELECT (CURSOR DURATION MEMORY)| SYS_TEMP_0FD9DA551_C656D5E3 | | |

| 3 | HASH GROUP BY | | 37 | 222 |

| 4 | TABLE ACCESS FULL | T | 82667 | 484K|

| 5 | LOAD AS SELECT (CURSOR DURATION MEMORY)| SYS_TEMP_0FD9DA552_C656D5E3 | | |

| 6 | HASH GROUP BY | | 37 | 407 |

| 7 | TABLE ACCESS FULL | T | 82667 | 888K|

| 8 | LOAD AS SELECT (CURSOR DURATION MEMORY)| SYS_TEMP_0FD9DA553_C656D5E3 | | |

|* 9 | HASH JOIN | | 37 | 5846 |

| 10 | VIEW | | 37 | 2923 |

| 11 | TABLE ACCESS FULL | SYS_TEMP_0FD9DA551_C656D5E3 | 37 | 222 |

| 12 | VIEW | | 37 | 2923 |

| 13 | TABLE ACCESS FULL | SYS_TEMP_0FD9DA552_C656D5E3 | 37 | 407 |

| 14 | VIEW | | 37 | 3404 |

| 15 | TABLE ACCESS FULL | SYS_TEMP_0FD9DA553_C656D5E3 | 37 | 1184 |

-------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

9 - access("T1"."OWNER"="T2"."OWNER")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值