Re: Queries with timestamp II

From: Tomasz Myrta <jasiek(at)klaster(dot)net>
To: Arnau <arnaulist(at)andromeiberica(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Queries with timestamp II
Date: 2004-01-26 15:01:45
Message-ID: 40152BD9.3050907@klaster.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Dnia 2004-01-26 15:12, Użytkownik Arnau napisał:
> Hi all,
>
> First of all thanks to Josh and Richard for their replies. What I have
> done to test
> their indications is the following. I have created a new table identical to
> STATISTICS,
> and an index over the TIMESTAMP_IN field.
>
> CREATE TABLE STATISTICS2
> (
> STATISTIC_ID NUMERIC(10) NOT NULL DEFAULT
> NEXTVAL('STATISTIC_ID_SEQ')
> CONSTRAINT pk_st_statistic2_id PRIMARY KEY,
> TIMESTAMP_IN TIMESTAMP,
> VALUE NUMERIC(10)
> );

Do you really have to use numeric as primary key? Integer datatypes
(int4/int8) are much faster than numeric.

>
> CREATE INDEX i_stats2_tin ON STATISTICS2(TIMESTAMP_IN);
>
> After that I inserted the data from STATISTICS and vacuumed the DB:
>
> INSERT INTO STATISTICS2 ( SELECT * FROM STATISTICS );
> vacuumdb -f -z -d test
>
> once the vacuum has finished I do the following query
>
> explain analyze select * from statistics2 where timestamp_in <
> to_timestamp( '20031201', 'YYYYMMDD' );
> NOTICE: QUERY PLAN:
>
> Seq Scan on statistics2 (cost=0.00..638.00 rows=9289 width=35) (actual
> time=0.41..688.34 rows=27867 loops=1)
> Total runtime: 730.82 msec
>
> That query is not using the index. Anybody knows what I'm doing wrong?

Over 25000 rows match your condition:
timestamp_in < to_timestamp( '20031201', 'YYYYMMDD' );

How many rows do you have in your table? It's possible, that seq scan is
just faster than using index when getting so many rows output.

Regards,
Tomasz Myrta

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Bill Moran 2004-01-26 15:19:14 On the performance of views
Previous Message Shridhar Daithankar 2004-01-26 14:38:13 Re: Queries with timestamp II