The following bug has been logged online:
Bug reference: 2126
Logged by: Grzegorz TaÅczyk
Email address: goliatus@polzone.pl
PostgreSQL version: 8.1
Operating system: Slackware
Description: Index usage for function value
Details:
SELECT * FROM table WHERE id = myfunction('x', 10);
There is an index created on id column, but query planner doesn't use it.
When I explain this query:
SELECT * FROM table WHERE id = (SELECT myfunction('x', 10))
Then index is used and execution is much faster.
Is this subquery nessesary?
It doesn't happen in all circumstances, but when query is more complex and
table is big then it happens.