Search Postgresql Archives

Re: Index not being used unless enable_seqscan=false

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 11, 2005 at 12:10:33AM -0400, Tom Lane wrote:
> Shane <shane-pgsql@xxxxx> writes:
> > I am working with a simple table and query abut cannot seem
> > to get it to use the index I have created.
> > ...
> > explain analyze select msgid from seen where msgtime < cast(now() - interval '6 months' as timestamp(0) without time zone);
> 
> As some other people already pointed out, the problem is the horrible
> misestimate of the number of matching rows.  You did not say your
> Postgres version, but I'm betting it's pre-8.0.  Versions before 8.0
> would not assume that they could get any useful statistical info from
> an expression involving now() (or in general, any non-immutable
> function).  The default assumption in such cases is that a lot of
> rows are retrieved --- too many for an indexscan.

Hi Tom,

The version being used is 7.4.7.  However, as an
experiment, I ran pg8 on a different port and loaded the
dataset.  It needed a vacuum analyze but after that pg8 was
using the index and got the row estimate correct.
Thanks for the pointer,
Shane

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux