Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Function-based indexes
I can see that FBI (!) would be useful in the classic case of case insensitive string matching
where upper(column)=upper('input string')
To serve the above query, one would
create index on table (upper(column))
But if I know the case in which a particular data element is stored
and were to use a
where column='This Way'
would it still use the FBI?
Of course, I am assuming that you cannot have a FBI and any other index (btree or bitmap) on the same column?
In general, how exactly does the FBI work internally? The docs mention that it stores the data using a 'expression tree' and not a 'btree'. What does this mean exactly? Does Oracle evaluate the function and actually store the upper-cased values in the index?
If it is not a btree, arent there any leaf nodes? How is the index organized then?
Thanks... Received on Wed Apr 04 2001 - 08:31:47 CDT