Re: How to speed up min/max(id) in 50M rows table?

From: Alan Hodgson <ahodgson(at)simkin(dot)ca>
To: pgsql-performance(at)postgresql(dot)org
Subject: Re: How to speed up min/max(id) in 50M rows table?
Date: 2007-10-12 22:04:40
Message-ID: 200710121504.40365@hal.medialogik.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Friday 12 October 2007, henk de wit <henk53602(at)hotmail(dot)com> wrote:
> > select payment_id from transactions order by payment_id desc limit 1;
>
> This one is indeed instant! Less than 50ms. In my case I can't use it for
> max though because of the fact that payment_id can be null (which is an
> unfortunate design choice). The other variant however didn't become
> instant. I.e. I tried:
>
> select time from transactions where payment_id = 67 order by time asc
> limit 1;
>
> But this one is still really slow.

If you had a compound index on payment_id,time (especially with a WHERE time
IS NOT NULL conditional) it would likely speed it up.

--
Ghawar is dying

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Erik Jones 2007-10-12 22:13:14 Re: Huge amount of memory consumed during transaction
Previous Message Tom Lane 2007-10-12 22:03:46 Re: How to speed up min/max(id) in 50M rows table?