> 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 ?!