index and min()

From: sarek(at)ozaba(dot)cx
To: pgsql-sql(at)postgresql(dot)org
Subject: index and min()
Date: 2003-10-26 20:01:42
Message-ID: cone.1067198502.760123.11582.100@ratbert.ozaba.cx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hello,

I have a table that contains logs from a radius accounting server.
Currently the table contains 1,780,470 rows and is about 350Mb on the disk.

It is running on a mssql server at the moment but I would like to move it
over to a postgresql server and postgresql seems to be somewhat fast than
mssql on most things except one.

SELECT min(inserttime) FROM acc_pb; which takes about 11 seconds to
complete.

On the mssql server this takes less than 1 second.

On the mssql server the inserttime column has a cluster index which if I
understand correctly means that the index is ordered which would explain why
the min() and max() functions are fast.

Is there an ordered index on postgresql or is the problem something else?

I have a b-tree index on the inserttime column in postgresql but it isn't
used somehow.

test=# EXPLAIN ANALYZE SELECT min(inserttime) from accounting;
QUERY PLAN

----------------------------------------------------------------------------
Aggregate (cost=55162.88..55162.88 rows=1 width=8)
(actual time=11798.27..11798.27 rows=1 loops=1)
-> Seq Scan on accounting (cost=0.00..50711.70 rows=1780470 width=8)
(actual time=0.14..8703.67 rows=1780470 loops=1)
Total runtime: 11798.39 msec
(3 rows)

Time: 11799.69 ms

Any help is greatly appreciated.

Best Regards
Magnus

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Christopher Browne 2003-10-26 20:52:05 Re: index and min()
Previous Message Neil Zanella 2003-10-26 03:30:25 defining and using constants in postgreSQL