Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: optmizer mode

Re: optmizer mode

From: David Aldridge <slimdave_at_yahoo.com>
Date: 15 Feb 2005 08:19:42 -0800
Message-ID: <1108484382.108005.190070@g14g2000cwa.googlegroups.com>


If there has been a dramatic performance degradation after the tables were analyzed then the execution plans being chosen by the CBO are evidently different to those preferred by the RBO, and henve you can find out what the difference is by using the "set autotrace traceonly" command in SQL*Plus prior to executing the queries in both modes. typically my own experience has shown that the CBO is less aggressive in using indexes than the RBO, and this is partly because the default setting of "100" for the optimizer_index_cost_adj parameter is too high. Generally a value between 15 and 25 wil give you a better balance.

Read up on the supplied procedure DBMS_STATS.GATHER_SYSTEM_STATS(). This prompts Oracle to monitor the execution of SQL and to determine some benchmarks for the storage and CPU subsystems. Although not foolproof it does effectively tailor the index cost adjustment, and you can maintain different values for different operational environments
(eg. daytime OLTP ops, and nighttime batch ops).

If genweral system performance is improved by these measures then you can identify the less performant SQL in the application using "statspack", and eliminate those as problems through individual tuning
(re-write of SQL, adding/removing indexes etc)

I don't follow the issue with not being able to create new indexes, though. Received on Tue Feb 15 2005 - 10:19:42 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US