Sunday, March 30, 2008

Function-based index

A function-based index indexes a funciton's return value.
It can be a:
  • Built-in SQL function
  • PL/SQL function
  • A user-written function

It relieves the server from having to invoke the function for every key value as it performs a search on the indxed expression.

For example:

CREATE INDEX table1_ix ON TABLE1(my_function(column1, column2));

Now any query that contains the expression my_function(column1, column2) in the WHERE clause may be able to take advantage of this index (otherwise, it would force a full table scan)

No comments: