From: | "David Witham" <davidw(at)unidial(dot)com(dot)au> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Index question |
Date: | 2004-02-13 05:58:32 |
Message-ID: | CFA248776934FD43847E740E43C346D199DBF0@ozimelb03.ozicom.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
There are 18321 records for 20040127 and so the estimate of 8839 for the = case is low but it still does the right thing.
There are 227197 records between '20040127' and current_date so the estimate in the >= case is accurate but the estimate for the between case is an order of magnitude too low. However, it used the index I wanted and the >= case didn't.
Regards,
David
-----Original Message-----
From: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
Sent: Friday, 13 February 2004 16:38
To: David Witham
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: [SQL] Index question
"David Witham" <davidw(at)unidial(dot)com(dot)au> writes:
> I understand that selecting count(*) will involve a scan at some
> stage, but I was surprised that the index wasn't used in the >= case,
> but was used in the between case.
Given the estimated row counts in your examples, the planner's choices
are not surprising. You have not given us any information on whether
those estimates are accurate.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tomasz Myrta | 2004-02-13 06:33:28 | Re: How to avoid nulls while writing string for dynamic query |
Previous Message | Kumar | 2004-02-13 05:41:49 | Re: How to avoid nulls while writing string for dynamic query |