Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Execution plan sequence

ronald_2017Dec 6 2020 — edited Dec 6 2020

Hi All,

The following execution plan is excerpted from the following link.
https://jonathanlewis.wordpress.com/2010/12/10/quiz-night-10

I am just wondering what is the sequence of the following execution plan?

--------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
--------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 24 | 11 |
| 1 | SORT AGGREGATE | | 1 | 24 | |
|* 2 | HASH JOIN | | 70 | 1680 | 11 |
| 3 | TABLE ACCESS FULL | T4 | 70 | 420 | 2 |
|* 4 | HASH JOIN | | 70 | 1260 | 8 |
| 5 | TABLE ACCESS FULL | T3 | 70 | 420 | 2 |
|* 6 | HASH JOIN | | 70 | 840 | 5 |
| 7 | TABLE ACCESS FULL| T2 | 70 | 420 | 2 |
| 8 | TABLE ACCESS FULL| T1 | 70 | 420 | 2 |
--------------------------------------------------------------
Is the sequence below correct?
3-> 5 -> 7 -> 8 -> 6 -> 4 -> 2-> 1

First creates a hash table for T4, then creates a second hash table for T3 then creates a third hash table for T2 right?
If So, 3 hash tables has been built in the memory before joining the tables?
Also, the join order and the execution plan operation order are not the same right?

Thanks in advance

This post has been answered by Jonathan Lewis on Dec 6 2020
Jump to Answer

Comments

Post Details

Added on Dec 6 2020
6 comments
283 views