Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: After table analyzed query runs 8 hours longer
Daniel Morgan <damorgan_at_x.washington.edu> wrote in message news:<1095730444.18891_at_yasure>...
> Daniel Roy wrote:
>
> > From what I see, your slow-running query accesses multiple tables, but
> > you say that you calculated stats for ONE table. Be consistent and
> > analyze the stats for ALL the tables involved. Please post at least
> > the query.
> >
> > Daniel
>
> And, in addition, do not use DBMS_UTLITY procedures ... you should be
> using DBMS_STATS.
Sorry for the confusion all of the tables were previously analyzed but the one that I just did. I will attempt to use DBMS_STATS.
explain plan set statement_id= 'x' for select /*+ CHOOSE */ distinct substr(ea.alte_post_id,7,3),aj.actg_evnt,tj.dtyp,tj.ref_dtyp_cat,sum(tj.dllr_am) FROM MF_TJ tj, MF_AJ aj, ST_EXP_AUTY_MNTN ea, MF_SYS_STGS syst
WHERE (ea.actg_cetr_post_id = syst.actg_cetr_post_id) AND (aj.orgn_typ = 'SH') AND (tj.uid_lo = aj.tj_uid_lo) AND (TJ.OPLK > '01-JAN-99') AND ((((aj.actg_evnt = 'SP02') or (aj.actg_evnt = 'SP03') or (aj.actg_evnt = 'SPN3') or (aj.actg_evnt = 'SP07') or (aj.actg_evnt = 'SPN7') or (aj.actg_evnt = 'AR04') or (aj.actg_evnt = 'AR05') or (aj.actg_evnt = 'AR06') or (aj.actg_evnt = 'AR10') or (aj.actg_evnt = 'AR11') or (aj.actg_evnt ='AR12')) OR (aj.actg_evnt = 'SP05' AND ((tj.line_typ = 'PP') or (tj.line_typ = 'PR'))) OR (aj.actg_evnt = 'SPN5' AND ((tj.line_typ = 'PP') or (tj.line_typ = 'PR'))) OR (aj.actg_evnt = 'SP08' AND ((tj.line_typ = 'PP') or (tj.line_typ = 'PR'))) OR (aj.actg_evnt = 'SPN8' AND ((tj.line_typ = 'PP') or (tj.line_typ = 'PR')))) AND AJ.PATN = substr(EA.PATN_ID,7,4) AND (aj.fund = substr(EA.FUND_ID,7,instr(ea.fund_id,'&',1,3)-instr(ea.fund_id,'&',1,2)-1) AND AJ.BBFY = substr(EA.FUND_ID,instr(ea.fund_id,'&',1,3)+1,instr(ea.fund_id,'&',1,4)-instr(ea.fund_id,'&',1,3)-1)) AND aj.orgn = substr(EA.ORGN_ID,instr(ea.orgn_id,'&',1,2)+1,instr(ea.orgn_id,'&',1,3)-instr(ea.orgn_id,'&',1,2)-1))GROUP BY substr(ea.alte_post_id,7,3),aj.actg_evnt,tj.dtyp,tj.ref_dtyp_cat UNION
WHERE (ea.actg_cetr_post_id = syst.actg_cetr_post_id) AND (aj.orgn_typ = 'SH') AND (tj.uid_lo = aj.tj_uid_lo) AND (TJ.OPLK > '01-JAN-99') AND (aj.actg_evnt = 'AR04' or aj.actg_evnt = 'AR05' or aj.actg_evnt = 'AR06' or aj.actg_evnt = 'AR10' or aj.actg_evnt = 'AR11' or aj.actg_evnt = 'AR12') AND (tj.ref_doc_num is null and tj.cat = 'CR') AND AJ.PATN = substr(EA.PATN_ID,7,4) AND aj.fund = substr(EA.FUND_ID,7,instr(ea.fund_id,'&',1,3)-instr(ea.fund_id,'&',1,2)-1) AND AJ.BBFY = substr(EA.FUND_ID,instr(ea.fund_id,'&',1,3)+1,instr(ea.fund_id,'&',1,4)-instr(ea.fund_id,'&',1,3)-1) AND aj.orgn = substr(EA.ORGN_ID,instr(ea.orgn_id,'&',1,2)+1,instr(ea.orgn_id,'&',1,3)-instr(ea.orgn_id,'&',1,2)-1) AND tj.dtyp||tj.doc_num||rtrim(tj.actg_lnum_ch) in (select substr(cr.dtyp_id,7)||cr.doc_num||rtrim(crln.lnum) from MF_CR cr, MF_CR_LN crln where cr.uidy = crln.parn_of_line_id and crln.rord_line_id is notnull)