Examine the following SQL statement:
Examine the exhibit to view the execution plan.
Which statement is true about the execution plan?
A.
The EXPLAIN PLAN generates the execution plan and stores it in c$SQL_PLAN after
executing the query. Subsequent executions will use the same plan.
B.
The EXPLAIN PLAN generates the execution plan and stores it in PLAN_TABLE without
executing the query. Subsequent executions will always use the same plan.
C.
The row with the ID 3 is the first step executed in the execution plan.
D.
The row with the ID 0 is the first step executed in the execution plan.
E.
The rows with the ID 3 and 4 are executed simultaneously.
Explanation:
Note the other_tag parallel in the execution plan.
Note:
Within the Oracle plan_table, we see that Oracle keeps the parallelism in a column called
other_tag. The other_tag column will tell you the type of parallel operation that is being performed
within your query.
For parallel queries, it is important to display the contents of the other_tag in the execution.
E is incorrect.
Correct answer: C
Sorry
E is correct.
Errata: In case of NESTED LOOP, there is a kind of inter-leaving between its 2 childrens. So for each row access in DEPARTMENT, we do a range scan on EMP_DEPARTMENT_IX. So, We can say that the 2 operations are executed simultaneously.
However, it is not a matter of parallelism identified by other_tag column. By the way, this column is null if you test this example
Conclusion:
So C and E is correct but in my opinion C is purely speaking “more” correct.
Can we say that op with id 3 and 4 are executed simultaneously because interleaving ? I don’t know.
I believe C is correct
E is not correct, since I don’t see PARTITION RANGE ITERATOR operation if parallel (two operations being executed simutlaneously) in the plan for ID 3