Slow query - correlated or not?
Posted in 1997
Hi
We have an update that is taking a very long time to run.
I have turned into a select statement for testing.
I have included the set explain output.
My questions are: Is this a correlated subquery? ie is
the full table scan of ps_jrnl_ln occurring for each
row being updated? Does this explain why ps_jrnl_ln
does not appear in the subquery section of sqexplain.out?
Any ideas on improving performance would be much appreciated.
Thanks
William
QUERY:
------
select count(*) from'psoft'.PS_JRNL_LN WHERE BUSINESS_UNIT='UOA'
AND EXISTS (SELECT
'X' FROM 'psoft'.PS_COMBO_DATA_TBL WHERE SETID='UOFAK' AND
PROCESS_GROUP='INCSTMT'
AND VALID_CODE='V' AND 'psoft'.PS_JRNL_LN.JOURNAL_DATE BETWEEN
EFFDT_FROM AND
EFFDT_TO AND 'psoft'.PS_JRNL_LN.ACCOUNT = ACCOUNT AND
'psoft'.PS_JRNL_LN.DEPTID = DEPTID)
Estimated Cost: 1614158848
Estimated # of Rows Returned: 1
1) psoft.ps_jrnl_ln: SEQUENTIAL SCAN
Filters: (psoft.ps_jrnl_ln.business_unit = 'UOA' AND EXISTS
<subquery> )
Subquery:
---------
Estimated Cost: 1200
Estimated # of Rows Returned: 1
1) psoft.ps_combo_data_tbl: INDEX PATH
Filters: (psoft.ps_combo_data_tbl.valid_code = 'V' AND
(psoft.ps_combo_data_tbl.effdt_from <= psoft.ps_jrnl_ln.journal_date AND
(psoft.ps_combo_data_tbl.effdt_to >= psoft.ps_jrnl_ln.journal_date AND
(psoft.ps_combo_data_tbl.account = psoft.ps_jrnl_ln.account AND
psoft.ps_combo_data_tbl.deptid = psoft.ps_jrnl_ln.deptid ) ) ) )
(1) Index Keys: setid process_group combination valid_code
(Serial, fragments: ALL)
Lower Index Filter: (psoft.ps_combo_data_tbl.setid = 'UOFAK'
AND psoft.ps_combo_data_tbl.process_group = 'INCSTMT' )