Hi everyone I need to improve update performance of the table called dcag_document_item_lines
STATEMENT
update /*+ NO_CPU_COSTING */ dcag_document_item_lines a
set A.ALIEN_ITEM = 'N'
where EXISTS (SELECT b.ip_part_code
from pending_dcag_pt6_mra B
where A.CODE = B.ip_part_code)
AND A.item_line_type=('PA')
AND EXISTS (SELECT c.document_id
from dcag_documents c
where c.document_id = a.document_id
and c.document_date >= '01-jan-2007');
NUMBER OF RECORDS
dcag_document_item_lines=200 millon records
pending_dcag_pt6_mra =1.7 million
dcag_documents =10 Million
INDEXED COLUMNS
dcag_document_item_lines.DOCUMENT_ID -----inndex1
dcag_document_item_lines.LINE_ITEM_NO -----inndex2
dcag_documents.CLIENT_ID -----D_CLIENT_DEP_DOC_DATE_IND
DEPARTMENT_TYPE
DOCUMENT_DATE
MODEL_ID
POSTCODE_TYPE
AGE_AT_EVENT
VEHICLE_ID
dcag_documents.DOCUMENT_ID ----DCAG_DOCUMENTS_PK
PENDING_DCAG_PT6_MRA.IP_PART_CODE -----PENDING_DCAG_PT6_MRA_IDX
PENDING_DCAG_PT6_MRA.SYS_NC00010$------PT6_PRINT_PART_CODE_IDX
PENDING_DCAG_PT6_MRA.SYS_NC00011$------PT6_SORTCODE_IDX
ORACLE VER:Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
EXECUTION PLAN
Statement Id=1638424 Type=
Cost=2.0960068036193E-317 TimeStamp=23-11-09::11::33:52
(1) UPDATE STATEMENT CHOOSE
Est. Rows: 18,609,815 Cost: 580,793
UPDATE DCAG.DCAG_DOCUMENT_ITEM_LINES
(6) HASH JOIN RIGHT SEMI
Est. Rows: 18,609,815 Cost: 580,793
(2) TABLE TABLE ACCESS FULL DCAG.DCAG_DOCUMENTS [Analyzed]
(2) Blocks: 633,918 Est. Rows: 12,113,924 of 24,916,950 Cost: 96,214
Tablespace: DCAG_T
(5) HASH JOIN RIGHT SEMI
Est. Rows: 25,321,324 Cost: 460,759
(3) INDEX INDEX FAST FULL SCAN DCAG.PENDING_DCAG_PT6_MRA_IDX [Analyzed]
Est. Rows: 1,700,302 Cost: 1,694
(4) TABLE TABLE ACCESS FULL DCAG.DCAG_DOCUMENT_ITEM_LINES [Analyzed]
(4) Blocks: 2,778,518 Est. Rows: 73,066,252 of 199,390,240 Cost: 421,708
Tablespace: DCAG_T
Any help will be aprreciated.
Thanks guys.
Edited by: user12260689 on 23-Nov-2009 03:35