Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

<SQL_EXPLAIN_PLAN>

<DATA_DS>
<![CDATA[
Datamodel SQL Explain Plan Report
================================================================
Driver Details:JDBC Driver:Oracle JDBC
driver:weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection:19.17.
0.0.0
DBName:Oracle
DBVersion:Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
Version 19.19.0.0.0
SQLQuery:EXPLAIN PLAN SET STATEMENT_ID = 'dm_plan_samp_230901_124157' FOR
Select Distinct

PRDV.Role_name
,PU.Username
,PAPF.Person_number
,PPNF.Full_name
,PPOS.Actual_termination_date
,PU.ACTIVE_FLAG

from PER_USERS PU
,PER_USER_ROLES PUR
,per_periods_of_service PPOS
,per_all_people_f PAPF
,per_person_names_f PPNF
,PER_ROLES_DN_VL PRDV

where PUR.User_id=PU.User_ID
and PU.Person_id=PPOS.Person_id
and PPOS.Person_id=PAPF.Person_ID
and PPNF.Person_id=PAPF.Person_id
and PUR.role_id=PRDV.role_id

and PUR.END_DATE is NULL


and ppnf.name_type = 'GLOBAL'
and PPNF.EFFECTIVE_END_DATE = '4712/12/31'
and PPOS.Actual_termination_date is not NULL
AND PPOS.CREATION_DATE = (SELECT MAX(PPOS2.CREATION_DATE) FROM
PER_PERIODS_OF_SERVICE PPOS2 WHERE PPOS.PERSON_ID = PPOS2.PERSON_ID)

SQL Query Timeout: 500


Number of SQL Executions: 1
PLAN_TABLE_OUTPUT
-----------------------------------------------------------------------------------
------------------
Plan hash value: 683707026

-----------------------------------------------------------------------------------
---------------------------------
| Id | Operation | Name | Rows
| Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------
---------------------------------
| 0 | SELECT STATEMENT | | 2
| 456 | 296 (2)| 00:00:01 |
| 1 | HASH UNIQUE | | 2
| 456 | 296 (2)| 00:00:01 |
| 2 | NESTED LOOPS | | 2
| 456 | 295 (1)| 00:00:01 |
| 3 | NESTED LOOPS | | 2
| 368 | 293 (1)| 00:00:01 |
| 4 | NESTED LOOPS | | 2
| 342 | 291 (1)| 00:00:01 |
| 5 | NESTED LOOPS | | 1
| 146 | 279 (1)| 00:00:01 |
| 6 | NESTED LOOPS | | 1
| 105 | 277 (1)| 00:00:01 |
| 7 | NESTED LOOPS | | 1
| 85 | 275 (1)| 00:00:01 |
|* 8 | HASH JOIN SEMI | | 1
| 50 | 274 (1)| 00:00:01 |
|* 9 | TABLE ACCESS STORAGE FULL | per_periods_of_service | 866
| 23382 | 136 (0)| 00:00:01 |
| 10 | VIEW | VW_SQ_1 | 5213
| 117K| 137 (1)| 00:00:01 |
| 11 | HASH GROUP BY | | 5213
| 122K| 137 (1)| 00:00:01 |
|* 12 | TABLE ACCESS STORAGE FULL | per_periods_of_service | 5560
| 130K| 136 (0)| 00:00:01 |
|* 13 | TABLE ACCESS BY INDEX ROWID | per_users | 1
| 35 | 1 (0)| 00:00:01 |
|* 14 | INDEX UNIQUE SCAN | PER_USERS_U1 | 1
| | 0 (0)| 00:00:01 |
|* 15 | TABLE ACCESS BY INDEX ROWID BATCHED| per_all_people_f | 1
| 20 | 2 (0)| 00:00:01 |
|* 16 | INDEX RANGE SCAN | PER_PEOPLE_F_PK | 1
| | 1 (0)| 00:00:01 |
|* 17 | TABLE ACCESS BY INDEX ROWID BATCHED | per_person_names_f | 1
| 41 | 2 (0)| 00:00:01 |
|* 18 | INDEX RANGE SCAN | PER_PERSON_NAMES_F_N12 | 1
| | 1 (0)| 00:00:01 |
|* 19 | TABLE ACCESS BY INDEX ROWID BATCHED | per_user_roles | 12
| 300 | 12 (0)| 00:00:01 |
|* 20 | INDEX RANGE SCAN | PER_USER_ROLES_U2 | 12
| | 2 (0)| 00:00:01 |
|* 21 | TABLE ACCESS BY INDEX ROWID | per_roles_dn | 1
| 13 | 1 (0)| 00:00:01 |
|* 22 | INDEX UNIQUE SCAN | PER_ROLES_DN_PK | 1
| | 0 (0)| 00:00:01 |
|* 23 | TABLE ACCESS BY INDEX ROWID | per_roles_dn_tl | 1
| 44 | 1 (0)| 00:00:01 |
|* 24 | INDEX UNIQUE SCAN | PER_ROLES_DN_TL_U1 | 1
| | 0 (0)| 00:00:01 |
-----------------------------------------------------------------------------------
---------------------------------

Predicate Information (identified by operation id):


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

8 - access("CREATION_DATE"="MAX(PPOS2.CREATION_DATE)" AND "PERSON_ID"="ITEM_1")


9 - storage("ACTUAL_TERMINATION_DATE" IS NOT NULL AND (("BUSINESS_GROUP_ID"=0 OR
"BUSINESS_GROUP_ID"=1)
OR
"BUSINESS_GROUP_ID"=DECODE(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'),NULL,"BUS
INESS_GROUP_ID",TO_NUM
BER(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID')))))
filter("ACTUAL_TERMINATION_DATE" IS NOT NULL AND (("BUSINESS_GROUP_ID"=0 OR
"BUSINESS_GROUP_ID"=1)
OR
"BUSINESS_GROUP_ID"=DECODE(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'),NULL,"BUS
INESS_GROUP_ID",TO_NUM
BER(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID')))))
12 - storage("BUSINESS_GROUP_ID"=0 OR "BUSINESS_GROUP_ID"=1 OR

"BUSINESS_GROUP_ID"=DECODE(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'),NULL,"BUS
INESS_GROUP_ID",TO_NUMBER
(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'))))
filter("BUSINESS_GROUP_ID"=0 OR "BUSINESS_GROUP_ID"=1 OR

"BUSINESS_GROUP_ID"=DECODE(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'),NULL,"BUS
INESS_GROUP_ID",TO_NUMBER
(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'))))
13 - filter("BUSINESS_GROUP_ID"=0 OR "BUSINESS_GROUP_ID"=1 OR

"BUSINESS_GROUP_ID"=DECODE(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'),NULL,"BUS
INESS_GROUP_ID",TO_NUMBER
(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'))))
14 - access("PERSON_ID"="PERSON_ID")
filter("PERSON_ID" IS NOT NULL)
15 - filter("BUSINESS_GROUP_ID"=0 OR "BUSINESS_GROUP_ID"=1 OR

"BUSINESS_GROUP_ID"=DECODE(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'),NULL,"BUS
INESS_GROUP_ID",TO_NUMBER
(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'))))
16 - access("PERSON_ID"="PERSON_ID")
17 - filter("BUSINESS_GROUP_ID"=0 OR "BUSINESS_GROUP_ID"=1 OR

"BUSINESS_GROUP_ID"=DECODE(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'),NULL,"BUS
INESS_GROUP_ID",TO_NUMBER
(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'))))
18 - access("PERSON_ID"="PERSON_ID" AND "NAME_TYPE"='GLOBAL' AND
"EFFECTIVE_END_DATE"=TO_DATE('
4712-12-31 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
filter("EFFECTIVE_END_DATE"=TO_DATE(' 4712-12-31 00:00:00', 'syyyy-mm-dd
hh24:mi:ss'))
19 - filter("END_DATE" IS NULL)
20 - access("USER_ID"="USER_ID")
filter("BUSINESS_GROUP_ID"=0 OR "BUSINESS_GROUP_ID"=1 OR

"BUSINESS_GROUP_ID"=DECODE(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'),NULL,"BUS
INESS_GROUP_ID",TO_NUMBER
(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'))))
21 - filter("BUSINESS_GROUP_ID"=0 OR "BUSINESS_GROUP_ID"=1 OR

"BUSINESS_GROUP_ID"=DECODE(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'),NULL,"BUS
INESS_GROUP_ID",TO_NUMBER
(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'))))
22 - access("ROLE_ID"="ROLE_ID")
23 - filter("BUSINESS_GROUP_ID"=0 OR "BUSINESS_GROUP_ID"=1 OR

"BUSINESS_GROUP_ID"=DECODE(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'),NULL,"BUS
INESS_GROUP_ID",TO_NUMBER
(SYS_CONTEXT('FND_VPD_CTX','FND_ENTERPRISE_ID'))))
24 - access("ROLE_ID"="ROLE_ID" AND "LANGUAGE"='US')

Note
-----
- this is an adaptive plan

]]>
</DATA_DS>
</SQL_EXPLAIN_PLAN>

]]>
</DATA_PROCESSOR_LOG>
</DIAGNOSTIC_OUT>

You might also like