On 07/ago/08, at 23:01, Tom Lane wrote:
Giorgio Valoti <giorgio_v@xxxxxxx> writes:
On 07/ago/08, at 17:50, Tom Lane wrote:
These numbers seem pretty bogus: there is hardly any scenario in
which a
full-table indexscan should be costed as significantly cheaper
than a
seqscan. Have you put in silly values for random_page_cost?
No,
I looked at it more closely and realized that the cost discrepancy is
from the evaluation of the function: having to evaluate a SQL or
plpgsql
function 247736 times more than explains the cost estimate
differential
compared to a query that involves no function call. Some experiments
here suggest that it hardly matters whether the query uses indexscan
or
seqscan because the time is dominated by the function calls anyway.
I see, thank you Tom. Could it be a good idea adding some notes about
it in <http://www.postgresql.org/docs/8.3/interactive/indexes-expressional.html
>? As you said, since the function call dominates the query cost, in
this case, I think there’s no point to use an index expression.
Ciao
--
Giorgio Valoti