0% found this document useful (0 votes)
120 views

Explain Plan

The document is a SQL execution plan for a query joining data from multiple tables. The plan shows the operations performed with estimated costs. Key operations include hash joins on primary keys to join main fact and dimension tables, with nested loops and index scans on related tables. Filter operations are applied to restrict to relevant records.

Uploaded by

Naveen Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
120 views

Explain Plan

The document is a SQL execution plan for a query joining data from multiple tables. The plan shows the operations performed with estimated costs. Key operations include hash joins on primary keys to join main fact and dimension tables, with nested loops and index scans on related tables. Filter operations are applied to restrict to relevant records.

Uploaded by

Naveen Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 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:11.2.0
.3.0
DBName:Oracle
DBVersion:Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
SQLQuery:EXPLAIN PLAN SET STATEMENT_ID = 'dm_plan_Q_210701_031657' FOR
SELECT /* QUERY_SRC('datamodel: _datamodel.xdm,dataset:Q') */ DISTINCT
'"' || rcta.customer_trx_id || '"' bill_id,
'"Oracle Cloud Receivables"' billing_application,
'"' || rctla.customer_trx_line_id || '"' bill_line_id,
'"' || rcta.trx_number || '"' bill_number,
'"' || TO_CHAR (rcta.trx_date, 'DD-MM-YYYY') || '"' bill_date,
'"' || TO_CHAR (rctd.gl_date, 'DD-MM-YYYY') || '"' bill_acct_date,
'"' || rctla.line_number || '"' bill_line_number,
'"' || rctla.quantity_invoiced || '"' billed_qty,
'"' || rctla.extended_amount || '"' billed_amt,
'"' || rctd.acctd_amount || '"' bill_acct_amt,
'"' || vsdl.document_type_code || '"' docu_type_code,
'"' || okht.cognomen || '"' source_doc_ident_1, '"2' ||
ptv.task_id || '"' source_doc_ident_2, '"' || okhb.contract_number
|| '"' source_doc_ident_3, '"' || UPPER (ptv.task_name) || '"'
source_doc_chr_ident_1, '"IPCSS"' source_system,
'"' || vsdl.doc_line_id_int_4 || '"' source_doc_ident_4, '"' ||
'' || '"' source_doc_ident_5, '"' || '' || '"'
source_doc_chr_ident_2, '"' || '' || '"' source_doc_chr_ident_3,
'"' || '' || '"' source_doc_chr_ident_4, '"' || '' || '"'
source_doc_chr_ident_5, '"' || '' || '"' document_type_id

FROM ra_customer_trx_all rcta,


ra_customer_trx_lines_all rctla,
ra_cust_trx_line_gl_dist_all rctd,
okc_k_headers_all_b okhb,
okc_k_headers_tl okht,
okc_k_lines_b oklb,
pjb_cntrct_proj_links pcpl,
vrm_source_doc_lines vsdl,
pjb_invoice_lines pbt,
pjf_tasks_v ptv

WHERE 1 = 1
AND rcta.customer_trx_id = rctla.customer_trx_id
AND rcta.customer_trx_id = rctd.customer_trx_id
AND rctla.customer_trx_line_id = rctd.customer_trx_line_id
AND rctla.interface_line_context = 'CONTRACT INVOICES'
AND rctla.interface_line_attribute2 = okhb.ID
AND okhb.ID = okht.ID
AND okhb.ID = oklb.chr_id
AND ptv.task_id = pcpl.proj_element_id
AND pbt.contract_id = okhb.ID
AND pbt.linked_task_id = pcpl.proj_element_id
AND vsdl.doc_line_id_int_1 = TO_NUMBER (okht.cognomen)
AND TO_CHAR (vsdl.doc_line_id_int_2) = to_char('2' || ptv.task_id)
AND TO_CHAR (vsdl.doc_line_id_int_3) = rctla.interface_line_attribute1
AND rctla.interface_line_attribute5 = TO_CHAR (pbt.invoice_line_id)
AND vsdl.line_amount != 0
AND NOT EXISTS (SELECT 1
FROM vrm_billing_line_details vbld
WHERE vbld.bill_line_id = rctla.customer_trx_line_id)
SQL Query Timeout: 600
Number of SQL Executions: 1
PLAN_TABLE_OUTPUT
-----------------------------------------------------------------------------------
------------------
Plan hash value: 1650319343

-----------------------------------------------------------------------------------
-------------------------------------------
| Id | Operation | Name
| Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------
-------------------------------------------
| 0 | SELECT STATEMENT |
| 1 | 276 | 43 (3)| 00:00:01 |
| 1 | HASH UNIQUE |
| 1 | 276 | 43 (3)| 00:00:01 |
|* 2 | HASH JOIN |
| 1 | 276 | 42 (0)| 00:00:01 |
| 3 | NESTED LOOPS |
| 1 | 245 | 33 (0)| 00:00:01 |
| 4 | NESTED LOOPS |
| 1 | 245 | 33 (0)| 00:00:01 |
| 5 | NESTED LOOPS |
| 1 | 220 | 31 (0)| 00:00:01 |
|* 6 | HASH JOIN |
| 1 | 189 | 30 (0)| 00:00:01 |
| 7 | NESTED LOOPS |
| 1 | 179 | 27 (0)| 00:00:01 |
| 8 | NESTED LOOPS |
| 1 | 179 | 27 (0)| 00:00:01 |
| 9 | NESTED LOOPS |
| 1 | 160 | 25 (0)| 00:00:01 |
| 10 | NESTED LOOPS |
| 1 | 138 | 24 (0)| 00:00:01 |
| 11 | NESTED LOOPS SEMI |
| 1 | 114 | 22 (0)| 00:00:01 |
| 12 | NESTED LOOPS ANTI |
| 1 | 104 | 21 (0)| 00:00:01 |
|* 13 | HASH JOIN |
| 1 | 95 | 20 (0)| 00:00:01 |
|* 14 | HASH JOIN |
| 68 | 3332 | 9 (0)| 00:00:01 |
| 15 | VIEW | index$_join$_004
| 225 | 4500 | 4 (0)| 00:00:01 |
|* 16 | HASH JOIN |
| | | | |
| 17 | INDEX STORAGE FAST FULL SCAN | OKC_K_HEADERS_ALL_B_U1
| 225 | 4500 | 1 (0)| 00:00:01 |
| 18 | INDEX STORAGE FAST FULL SCAN | OKC_K_HEADERS_ALL_B_U2
| 225 | 4500 | 4 (0)| 00:00:01 |
|* 19 | TABLE ACCESS STORAGE FULL | pjb_invoice_lines
| 67 | 1943 | 5 (0)| 00:00:01 |
|* 20 | TABLE ACCESS STORAGE FULL | ra_customer_trx_lines_all
| 70 | 3220 | 11 (0)| 00:00:01 |
|* 21 | INDEX RANGE SCAN | VRM_BILLING_LINE_DETAILS_N1
| 59 | 531 | 1 (0)| 00:00:01 |
|* 22 | INDEX RANGE SCAN | OKC_K_LINES_B_N17
| 214 | 2140 | 1 (0)| 00:00:01 |
| 23 | TABLE ACCESS BY INDEX ROWID BATCHED|
ra_cust_trx_line_gl_dist_all | 1 | 24 | 2 (0)| 00:00:01 |
|* 24 | INDEX RANGE SCAN | RA_CUST_TRX_LINE_GL_DIST_N1
| 1 | | 1 (0)| 00:00:01 |
| 25 | TABLE ACCESS BY INDEX ROWID | ra_customer_trx_all
| 1 | 22 | 1 (0)| 00:00:01 |
|* 26 | INDEX UNIQUE SCAN | RA_CUSTOMER_TRX_U1
| 1 | | 0 (0)| 00:00:01 |
|* 27 | INDEX RANGE SCAN | OKC_K_HEADERS_TL_U1
| 1 | | 1 (0)| 00:00:01 |
| 28 | TABLE ACCESS BY INDEX ROWID | okc_k_headers_tl
| 1 | 19 | 2 (0)| 00:00:01 |
| 29 | INDEX STORAGE FAST FULL SCAN | PJB_CNTRCT_PROJ_LINKS_N2
| 790 | 7900 | 3 (0)| 00:00:01 |
|* 30 | TABLE ACCESS BY INDEX ROWID | pjf_proj_elements_b
| 1 | 31 | 1 (0)| 00:00:01 |
|* 31 | INDEX UNIQUE SCAN | PJF_PROJ_ELEMENTS_U1
| 1 | | 0 (0)| 00:00:01 |
|* 32 | INDEX RANGE SCAN | PJF_PROJ_ELEMENTS_TL_N1
| 1 | | 1 (0)| 00:00:01 |
| 33 | TABLE ACCESS BY INDEX ROWID | pjf_proj_elements_tl
| 1 | 25 | 2 (0)| 00:00:01 |
|* 34 | TABLE ACCESS STORAGE FULL | vrm_source_doc_lines
| 130 | 4030 | 9 (0)| 00:00:01 |
-----------------------------------------------------------------------------------
-------------------------------------------

Predicate Information (identified by operation id):


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

2 - access("VSDL"."DOC_LINE_ID_INT_1"=TO_NUMBER("OKHT"."COGNOMEN") AND
TO_CHAR("VSDL"."DOC_LINE_ID_INT_2")='2'||
TO_CHAR("TASK"."PROJ_ELEMENT_ID") AND

"RCTLA"."INTERFACE_LINE_ATTRIBUTE1"=TO_CHAR("VSDL"."DOC_LINE_ID_INT_3"))
6 - access("PBT"."LINKED_TASK_ID"="PCPL"."PROJ_ELEMENT_ID")
13 - access("OKHB"."ID"=TO_NUMBER("RCTLA"."INTERFACE_LINE_ATTRIBUTE2") AND
"RCTLA"."INTERFACE_LINE_ATTRIBUTE5"=TO_CHAR("PBT"."INVOICE_LINE_ID"))
14 - access("PBT"."CONTRACT_ID"="OKHB"."ID")
16 - access(ROWID=ROWID)
19 - storage("PBT"."LINKED_TASK_ID" IS NOT NULL)
filter("PBT"."LINKED_TASK_ID" IS NOT NULL)
20 - storage("RCTLA"."INTERFACE_LINE_CONTEXT"='CONTRACT INVOICES')
filter("RCTLA"."INTERFACE_LINE_CONTEXT"='CONTRACT INVOICES')
21 - access("VBLD"."BILL_LINE_ID"="RCTLA"."CUSTOMER_TRX_LINE_ID")
22 - access("OKHB"."ID"="OKLB"."CHR_ID")
24 - access("RCTLA"."CUSTOMER_TRX_LINE_ID"="RCTD"."CUSTOMER_TRX_LINE_ID")
filter("RCTD"."CUSTOMER_TRX_LINE_ID" IS NOT NULL)
26 - access("RCTA"."CUSTOMER_TRX_ID"="RCTD"."CUSTOMER_TRX_ID")
filter("RCTA"."CUSTOMER_TRX_ID"="RCTLA"."CUSTOMER_TRX_ID")
27 - access("OKHB"."ID"="OKHT"."ID")
30 - filter("TASK"."OBJECT_TYPE"='PJF_TASKS' AND
"TASK"."ELEMENT_TYPE"='FINANCIAL')
31 - access("TASK"."PROJ_ELEMENT_ID"="PCPL"."PROJ_ELEMENT_ID")
32 - access("TASK"."PROJ_ELEMENT_ID"="PPETL"."PROJ_ELEMENT_ID" AND
"PPETL"."LANGUAGE"=USERENV('LANG'))
34 - storage("VSDL"."LINE_AMOUNT"<>0)
filter("VSDL"."LINE_AMOUNT"<>0)

]]>
</DATA_DS>
</SQL_EXPLAIN_PLAN>

You might also like