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