Re: Efficiently query for the most recent record for a given user - Mailing list pgsql-performance

From Claudio Freire
Subject Re: Efficiently query for the most recent record for a given user
Date
Msg-id CAGTBQpZUUOqF6adjmt62Hmc_OYRo3meaoNY9tn93sULRoovO_w@mail.gmail.com
Whole thread Raw
In response to Re: Efficiently query for the most recent record for a given user  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Efficiently query for the most recent record for a given user  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Efficiently query for the most recent record for a given user  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-performance
On Wed, Aug 7, 2013 at 3:34 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Claudio Freire <klaussfreire@gmail.com> writes:
>> On Wed, Aug 7, 2013 at 3:12 PM, Robert DiFalco <robert.difalco@gmail.com> wrote:
>>> I want to get the last call_activity record for a single user.
>
>> Create an index over (user_id, called desc), and do
>> select * from call_activity where user_id = blarg order by called desc limit 1
>
> Note that there's no particular need to specify "desc" in the index
> definition.  This same index can support searches in either direction
> on the "called" column.


Yeah, but it's faster if it's in the same direction, because the
kernel read-ahead code detects sequential reads, whereas it doesn't
when it goes backwards. The difference can be up to a factor of 10 for
long index scans.

Though... true... for a limit 1... it wouldn't matter that much. But
it's become habit to match index sort order by now.


pgsql-performance by date:

Previous
From: Robert DiFalco
Date:
Subject: Re: Efficiently query for the most recent record for a given user
Next
From: Tom Lane
Date:
Subject: Re: Efficiently query for the most recent record for a given user