Re: index and min()

From: Christopher Browne <cbbrowne(at)acm(dot)org>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: index and min()
Date: 2003-10-26 20:52:05
Message-ID: m3oew3oh6y.fsf@wolfe.cbbrowne.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

In an attempt to throw the authorities off his trail, sarek(at)ozaba(dot)cx transmitted:
> SELECT min(inserttime) FROM acc_pb; which takes about 11 seconds to
> complete.
>
> On the mssql server this takes less than 1 second.

If you have NO index on inserttime, then the best that can be done is
the sequential scan that you saw.

If there is an index on inserttime, then the PostgreSQL idiom that
provides a _massive_ speedup is the query:

select inserttime from acc_pb order by inserttime limit 1;

In theory, it ought to be a nifty idea to have a way of automatically
transforming the min(inserttime) query into what I showed, but that is
likely to be difficult to do in general, and nobody has yet proposed
an implementation, so you'll have to do that yourself.
--
let name="cbbrowne" and tld="acm.org" in String.concat "@" [name;tld];;
http://www3.sympatico.ca/cbbrowne/x.html
"Linux and other OSS advocates are making a progressively more
credible argument that OSS software is at least as robust -- if not
more -- than commercial alternatives." - Microsoft lamenting Open
Source Software in the "Halloween Document"

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Bruno Wolff III 2003-10-27 03:34:43 Re: Query Help using Except
Previous Message sarek 2003-10-26 20:01:42 index and min()