The following bug has been logged online:
Bug reference: 5000
Logged by: Brian Ceccarelli
Email address: ceccareb(at)talusmusic(dot)com
PostgreSQL version: 8.2.13
Operating system: Linux
Description: Optimizer does not use function-based index for an order
by
Details:
Subject line says it all.
I have a function-based index on a large table.
select *
from net32_product_def
order by (f_squash_descr(descr::text))
create unique index net32_product_def_text_idx on net32_product_def (
f_squash_descr(descr) )
The explain plan says that Postgres always does a table scan instead of
using the index. The table is 500,000 rows long, and the function
f_squash_descr() is a CPU-instensive operation. What should come
instantly, takes 1 minute.