Thread: BUG #5530: Default cost of crypt causes poor decisions

BUG #5530: Default cost of crypt causes poor decisions

From
"Baegle"
Date:
The following bug has been logged online:

Bug reference:      5530
Logged by:          Baegle
Email address:      al@wifiny.org
PostgreSQL version: 8.4.4
Operating system:   Linux - Ubuntu - Lucid Lynx - 2.6.31-19-generic
Description:        Default cost of crypt causes poor decisions
Details:

The default cost of crypt() is 1, but crypt is intentionally a high cost
function. This mis-match between assigned cost and actual cost causes the
query planner to use crypt too soon and slows down execution of queries
significantly. The cost of the function should be more congruent with it's
intended cost.

Re: BUG #5530: Default cost of crypt causes poor decisions

From
Tom Lane
Date:
"Baegle" <al@wifiny.org> writes:
> The default cost of crypt() is 1, but crypt is intentionally a high cost
> function. This mis-match between assigned cost and actual cost causes the
> query planner to use crypt too soon and slows down execution of queries
> significantly. The cost of the function should be more congruent with it's
> intended cost.

Perhaps, but the same could be said of most of the contrib/pgcrypto
functions, no?  Which ones do you think should have a nondefault cost,
and what should we set it to?

Also, it'd be easier to persuade people this is worth worrying about if
you showed a real-world case where it's a problem.  crypt() doesn't seem
like a function that would be very likely to be used in contexts where
this'd matter.

            regards, tom lane