Did you check swap/paging activity when  sort_area_size was at 5m?

Gaining performance on sorts by reducing the amount of
memory used sounds like your box is low on RAM.

Jared


On Friday 14 February 2003 08:44, Glenn Travis wrote:
> I changed my sort_area_size to 1M (down from 5M) and the query completed in
> 18 seconds.
>
> We had set sort_area_size to 5M at the suggestion of Oracle or other
> reasons.  Looks like it's time to set it back.
>
> I ran the disk_sorts query and it returned this:
>
> DISK_SORTS AVERAGE_SIZE PEAK_CONCURRENT
> ---------- ------------ ---------------
>      47073       23815K             826
>
> Doesn't this suggest setting sort_area_size larger?
>
> > -----Original Message-----
> > From: Glenn Travis
> > Sent: Friday, February 14, 2003 11:04 AM
> > To: Multiple recipients of list ORACLE-L
> > Subject: Optimizer help, get query to run as good as with RULE hint
> >
> >
> > I have a problem query which will not complete.  This query
> > is part of a report run within Oracle Applications.
> >
> > Our versions are:  Oracle Server 8.1.7.4, Apps 11.5.3, HP-UX 11.11
> >
> > Listed below is the query and the explain plan.  I ran full
> > statistics on all the tables immediately before executing the
> > query.  Using the CBO, it never returns.  I cancel the query,
> > but it won't die until I kill the unix process.
> >
> > If I use the /*+ RULE */ hint, the query plan (also listed
> > below) changes dramatically and the query executes in 30 seconds.
> >
> > What could cause the optimizer to behave so differently?  We
> > cannot change our instance to RBO, as it would adversely
> > affect everything else and Apps requires CBO anyway.  Any
> > suggestions on what else I could do to improve the explain
> > plan withou having to use the hint?   (I've tried setting
> > optimizer_index_cost_adj=10, and it changes the plan a little
> > but still does not complete).
> >
> > --------------------------------
> >
> > 1  SELECT COUNT(*)
> >   2  FROM HZ_CUST_ACCT_SITES ACCT_SITE,HZ_PARTY_SITES PARTY_SITE,
> >   3  HZ_LOCATIONS LOC,HZ_LOC_ASSIGNMENTS LOC_ASSIGN
> >   4  WHERE ACCT_SITE.PARTY_SITE_ID = PARTY_SITE.PARTY_SITE_ID
> >   5  AND LOC.LOCATION_ID = PARTY_SITE.LOCATION_ID
> >   6  AND LOC.LOCATION_ID = LOC_ASSIGN.LOCATION_ID
> >   7  AND NVL(ACCT_SITE.ORG_ID,-99) = NVL(LOC_ASSIGN.ORG_ID,-99)
> >   8* ;
> >
> >   Id  Par   Pos  Ins Plan
> > ---- ---- ----- ----
> > --------------------------------------------------------------
> > ------------------------------------------------
> >    0       3218        SELECT STATEMENT (choose)
> > Cost,rows,bytes (3218,1,31)
> >    1    0     1          SORT    (aggregate)
> >    2    1     1            NESTED LOOPS     Cost,rows,bytes
> > (3218,1466,45446)
> >    3    2     1              HASH JOIN     Cost,rows,bytes
> > (3218,617422807,16052992982)
> >    4    3     1                HASH JOIN     Cost,rows,bytes
> > (2681,4307,77526)
> >    5    4     1    5             TABLE ACCESS (analyzed)  AR
> > HZ_CUST_ACCT_SITES_ALL (full)  Cost,rows,bytes (1263,4307,34456)
> >    6    4     2    2             TABLE ACCESS (analyzed)  AR
> > HZ_PARTY_SITES (full)  Cost,rows,bytes (1414,493760,4937600)
> >    7    3     2    4           TABLE ACCESS (analyzed)  AR
> > HZ_LOC_ASSIGNMENTS (full)  Cost,rows,bytes (533,430060,3440480)
> >    8    2     2              INDEX (analyzed) UNIQUE AR
> > HZ_LOCATIONS_U1 (unique scan)
> >
> >
> >
> > Using the RULE hint (completes in 30 seconds):
> >
> >  1  SELECT /*+ RULE */ COUNT(*)
> >   2  FROM HZ_CUST_ACCT_SITES ACCT_SITE,HZ_PARTY_SITES PARTY_SITE,
> >   3  HZ_LOCATIONS LOC,HZ_LOC_ASSIGNMENTS LOC_ASSIGN
> >   4  WHERE ACCT_SITE.PARTY_SITE_ID = PARTY_SITE.PARTY_SITE_ID
> >   5  AND LOC.LOCATION_ID = PARTY_SITE.LOCATION_ID
> >   6  AND LOC.LOCATION_ID = LOC_ASSIGN.LOCATION_ID
> >   7  AND NVL(ACCT_SITE.ORG_ID,-99) = NVL(LOC_ASSIGN.ORG_ID,-99)
> >   8* ;
> >
> >   Id  Par   Pos  Ins Plan
> > ---- ---- ----- ----
> > --------------------------------------------------------------
> > ------------------------------------------------
> >    0                   SELECT STATEMENT (hint: rule)
> >    1    0     1          SORT    (aggregate)
> >    2    1     1            NESTED LOOPS
> >    3    2     1              NESTED LOOPS
> >    4    3     1                NESTED LOOPS
> >    5    4     1    4             TABLE ACCESS (analyzed)  AR
> > HZ_LOC_ASSIGNMENTS (full)
> >    6    4     2                  INDEX (analyzed) UNIQUE AR
> > HZ_LOCATIONS_U1 (unique scan)
> >    7    3     2    2           TABLE ACCESS (analyzed)  AR
> > HZ_PARTY_SITES (by index rowid)
> >    8    7     1                  INDEX (analyzed) NON-UNIQUE
> > AR HZ_PARTY_SITES_N2 (range scan)
> >    9    2     2    5         TABLE ACCESS (analyzed)  AR
> > HZ_CUST_ACCT_SITES_ALL (by index rowid)
> >   10    9     1                INDEX (analyzed) NON-UNIQUE AR
> > HZ_CUST_ACCT_SITES_N1 (range scan)
> > --
> > Please see the official ORACLE-L FAQ: http://www.orafaq.net
> > --
> > Author: Glenn Travis
> >   INET: [EMAIL PROTECTED]
> >
> > Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
> > San Diego, California        -- Mailing list and web hosting services
> > ---------------------------------------------------------------------
> > To REMOVE yourself from this mailing list, send an E-Mail message
> > to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru')
> > and in the message BODY, include a line containing: UNSUB
> > ORACLE-L (or the name of mailing list you want to be removed
> > from).  You may also send the HELP command for other
> > information (like subscribing).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Jared Still
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to