> Hi,
>
> This is really weird.
>
> I cannot see why a NATURAL plan is being used instead of my index, I am not 
> doing anything fancy.
>
> Using: FB2.5.1 32 bit classic server
>
> Query:
>
> select t.SalesOrderNo from stk_stocktransaction t where (t.SourceType 
> = 34)
>    and (t.TransactionType = 'EXTCST')
>    and (t.RefNo = 'I00001')
>
> Plan is:
> PLAN (T NATURAL)
>
> Yet I have the following index: SourceType, TransactionType, RefNo asc
>
> With selectivity: 0.0000049....
>
> Table has 1.4 million records.
>
> Query does 1.4 million non-indexed reads, and takes 11 to 20 seconds 
> to return no records (for the parameters I have selected)
>
> My development database DOES use the index.
>
> Please help! Is this a bug, or am I missing something!
>
> How can I force it to use the index, to see if it is any faster?

>>Is the index by any chance inactive, e.g. due to a restore without indexes 
>>etc ...

Wow, Thomas that was fast ;-)

It is definitely active.

Running gstat through IB expert, tells me it has a depth of 3.

Then, IBExpert has a column for Selectivity and Real Selectivity. The Real 
selectivity is coloured red, and if I hover over the info, a hint appears 
telling me that my index is useless, as it has a selectivity of less than 0.01.

Everything I thought I knew about indexes, seems to be wrong ?!





Reply via email to