RE: CBO Predicate selectivity

  • From: "Laimutis Nedzinskas" <Laimutis.Nedzinskas@xxxxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 13 Jul 2006 14:05:21 -0000

It depends. 

In my case the num_rows was the most important string to pull.

It was not fts I was fightning, it was the wrong join order.




-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of amit poddar
Sent: 13. júlí 2006 13:51
To: breitliw@xxxxxxxxxxxxx
Cc: jonathan@xxxxxxxxxxxxxxxxxx; oracle-l@xxxxxxxxxxxxx
Subject: Re: CBO Predicate selectivity

Yes by changing num_rows we can get right cardinality.

But for single table access path oracle would still use a FTS.

Won't we have to adjust clustering factor and/or leaf_blocks of the index on 
that table to make the CBO use the index

amit

Wolfgang Breitling wrote:
> Quoting amit poddar <amit.poddar@xxxxxxxx>:
>
>   
>> Hi,
>>
>> "You say you can't change the query, so if you want to fake this 
>> query, you probably need to use dbms_stats.set_table_stats to tell 
>> Oracle that the table has a very small number of rows - but don't 
>> change the block count - so that a properly calculated selectivity is 
>> fooled into getting the right cardinality."
>>
>> Sorry for being dense, but how does changing num_rows change the 
>> selectivity ?
>>
>>     
>
> It doesn't. Note that Jonathan said "so that a properly calculated 
> selectivity is fooled into getting the right cardinality" i.e. the 
> selectivity calculation (5% or 5% of 5%) isn't changed but the 
> resulting cardinality estimate (num_rows
> * selectivity) is.
>
>   

--
//www.freelists.org/webpage/oracle-l


Fyrirvari/Disclaimer
http://www.landsbanki.is/disclaimer
--
//www.freelists.org/webpage/oracle-l


Other related posts: