From: | Shelby Cain <alyandon(at)yahoo(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Optimizer produces wildly different row count estimate depending on casts |
Date: | 2004-03-08 23:57:50 |
Message-ID: | 20040308235750.55039.qmail@web41609.mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
--- Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> The optimizer has no idea about the selectivity of
> the clauses involving
> current_date, since it hasn't got a constant value
> to compare to the
> statistical histogram. (In the case of expressions
> involving
> current_date and similar functions, it might be
> reasonable to compute
> the current value and use that as an estimate, but
> I'm unsure of the
> conditions under which that's safe. In any case
> there is no such code
> at present.) So for query #1 we have a
> hopefully-pretty-good estimate
> for "txn_date > '07-FEB-2004'", and then we knock
> that down by an
> arbitrary percentage because we don't have a clue
> about "txn_date <=
> current_date"; which is why the estimate is too
> small. In query #2 we
> are, plain and simply, guessing. The optimizer can
> however see that
> this is a range constraint on txn_date, and the
> default guess in such
> cases is chosen to favor an indexscan.
>
Interesting. Thanks for the clarification.
>
> Neither clause is indexable, but at least the
> planner can see that it's
> a range constraint on txn_date::timestamp, so you
> get a smaller
> guesstimate.
>
That makes 100% sense. Thanks again.
Regards,
Shelby Cain
__________________________________
Do you Yahoo!?
Yahoo! Search - Find what youre looking for faster
http://search.yahoo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Steve Wolfe | 2004-03-09 00:06:14 | Question on Opteron performance |
Previous Message | Tom Lane | 2004-03-08 22:14:10 | Re: Optimizer produces wildly different row count estimate depending on casts |