Got it working after gather indexes stat for shema#2. Thanks Abraham. On Thu, 9 Dec 2004 09:28:51 +0530, Abraham Kurian <kurian24@xxxxxxxxx> wrote: > hi > Its possible that , the optimizer would choose the best possible path > to fetch the rows . in your case the PLAN changes from a Unique Scan > to a Index FFS .. > Can you send me the complete Explain Plan with ALL_ROWS. > > send me the O/p of > select * from table(dbms_xplan.display()); > > Also, the details of indexed columns > > regards > > > Kurian > > On Tue, 7 Dec 2004 22:48:48 -0800, VuCanDo <vuquyen@xxxxxxxxx> wrote: > > Even I simplified the SQL: > > > > select count(1) > > from spy_score m, spy_claim_case c > > where m.claim_id = getClaim(c.claim_id) and m.claim_line = > > getLine(c.claim_id) AND c.status = 'PEND' AND case_queue = '1' > > > > From SCHEMA#1 > > > > FIRST_ROWS SELECT STATEMENT Cost = 12 > > 1.1 SORT AGGREGATE > > 2.1 NESTED LOOPS > > 3.1 TABLE ACCESS FULL SPY_CLAIM_CASE > > 3.2 INDEX UNIQUE SCAN SPY_SCORE_K1 > > > > From SCHEMA#2: > > > > FIRST_ROWS SELECT STATEMENT Cost = 957 > > 1.1 SORT AGGREGATE > > 2.1 HASH JOIN > > 3.1 TABLE ACCESS FULL SPY_CLAIM_CASE > > 3.2 INDEX FAST FULL SCAN SPY_SCORE_K1 > > > > > > > > > > On Tue, 7 Dec 2004 21:17:24 -0800, VuCanDo <vuquyen@xxxxxxxxx> wrote: > > > Yes and the amount of data for SCHEMA#1 is couple millions rows bigger > > > than SCHEMA#2. > > > > > > > > > > > > > > > On Wed, 8 Dec 2004 09:35:03 +0530, Abraham Kurian <kurian24@xxxxxxxxx> > > > wrote: > > > > Is Stats are updated ? what about the amount of data each table in > > > > holding ? > > > > > > > > Regards > > > > Kurian > > > > > > > > > > > > > > > > > > > > On Tue, 7 Dec 2004 15:49:15 -0800, VuCanDo <vuquyen@xxxxxxxxx> wrote: > > > > > Hi Guru, > > > > > > > > > > I have a SQL statement and run against 2 schemas exactly the same, > > > > > but both give me a different explain plan run on same instance 9.2.0.4 > > > > > on NT. Schema#2 seem to take longer then schema#1 as you can see. > > > > > What's wrong with this SQL? See below: > > > > > > > > > > select m.score_dt, count(1), sum(paid_amt), sum(allow_amt), > > > > > min(overall_score), max(overall_score) > > > > > from spy_mart_score m, spy_claim_case c > > > > > where m.claim_id = getClaim(c.claim_id) and m.claim_line = > > > > > getLine(c.claim_id) AND c.status = 'PEND' AND case_queue = '1' > > > > > group by m.score_dt > > > > > order by m.score_dt desc; > > > > > > > > > > Explain plan from SCHEMA#1 is > > > > > > > > > > FIRST_ROWS SELECT STATEMENT Cost = 22 > > > > > > > > > > 1.1 SORT GROUP BY > > > > > 2.1 TABLE ACCESS BY INDEX ROWID SPY_SCORE > > > > > 3.1 NESTED LOOPS > > > > > 4.1 NESTED LOOPS > > > > > 5.1 TABLE ACCESS FULL SPY_CLAIM_CASE > > > > > 5.2 TABLE ACCESS BY INDEX ROWID SPY_MART > > > > > 6.1 INDEX UNIQUE SCAN SPY_MART_K1 > > > > > 4.2 INDEX RANGE SCAN SPY_SCORE_K1 > > > > > > > > > > Explain plan from SCHEMA#2 is > > > > > > > > > > FIRST_ROWS SELECT STATEMENT Cost = 27169 > > > > > > > > > > 1.1 SORT GROUP BY > > > > > 2.1 NESTED LOOPS OUTER > > > > > 3.1 HASH JOIN > > > > > 4.1 TABLE ACCESS FULL SPY_CLAIM_CASE > > > > > 4.2 TABLE ACCESS FULL SPY_MART > > > > > 3.2 TABLE ACCESS BY INDEX ROWID SPY_SCORE > > > > > 4.1 INDEX UNIQUE SCAN SPY_SCORE_K1 > > > > > > > > > > Thanks, > > > > > > > > > > Vu > > > > > > > > > > > > > > > > > > > > > > > > > > >