From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
---|---|
To: | Josh Berkus <josh(at)agliodbs(dot)com> |
Cc: | Andre Schubert <andre(dot)schubert(at)km3(dot)de>, <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Indexing timestamps |
Date: | 2002-06-06 17:01:37 |
Message-ID: | 20020606095611.A27330-100000@megazone23.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Thu, 6 Jun 2002, Josh Berkus wrote:
> Andre,
>
> I'm not even going to try to deal with the seq_scan vs. index_scan
> issues on now(). This has been brought up in the list archives. Test
> your actual response times as well as the query plan; you may find that
> you don't have a real problem.
>
> Something I can help you with:
>
> > explain select * from test_table where date_trunc('month',time_stamp)
> > = date_trunc('month',datetime('2002-01-01'));
> > NOTICE: QUERY PLAN:
> >
> > Seq Scan on test_table (cost=0.00..2441.41 rows=584 width=16)
>
> Try doing a:
> CREATE INDEX idx_test_month ON test_table(extract(month FROM
> time_stamp));
>
> Which should help.
Unfortunately you can't do that in that sort of syntax. You'll
need to create a function that returns the month and is marked
as iscachable and use that function in the index creation and
query.
From | Date | Subject | |
---|---|---|---|
Next Message | Ricardo Javier Aranibar León | 2002-06-06 17:03:43 | TWO PROBLEMS |
Previous Message | Joel Burton | 2002-06-06 16:49:25 | Re: simple select statement inquiry |