Re: Yet another "why is my index not used" question
Date: Wed, 28 Jan 2009 12:52:00 +0100
Jonathan Lewis wrote:
> "Radoulov, Dimitre" <cichomitiko_at_gmail.com> wrote in message
>> status : COMPLETED >> cpu in mhz : 516 >> single block readtime in ms : 7.922 >> multiblock readtime in ms : 4.157 >> average multiblock readcount: 6 >>
> In your version of Oracle, the optimizer would ignore these
> stats because mreadtim < sreadtim. You could fake some
> stats (dbms_stats.set_system_stats()) - e.g.
> sreadtim = 12
> MBRC = 16
> mreadtim = 42
> This is based on the defaults for ioseektim and iotfrspeed that
> 10g would apply to your setting of db_file_multiblock_read_count.
> This would have roughly the equivalent effect to you setting the
> optimizer_index_cost_adj to 100 * 12 / 42 = 29
> In this example, any value which is a little less than your
> 100 * (cost of indexed path) / (cost of t/s path)
> would be sufficient to change the path. The trick is to
> pick a value with is reasonably truthful for the "system".
> The first line of attack in cases like this, though is always
> to consider the truthfulness of the clustering_factor.
I believe that this is not a single-statement-issue, so I'll try to tweak optimizer_index_cost_adj and of course, check its impact on the entire application.
Thank you once again for your precious support.
Dimitre Received on Wed Jan 28 2009 - 05:52:00 CST