Re: Performance issues - Mailing list pgsql-performance

From Thomas Kellerer
Subject Re: Performance issues
Date
Msg-id me9guu$cvp$1@ger.gmane.org
Whole thread Raw
In response to Re: Performance issues  (Tomas Vondra <tomas.vondra@2ndquadrant.com>)
Responses Re: Performance issues  (Tomas Vondra <tomas.vondra@2ndquadrant.com>)
List pgsql-performance
Tomas Vondra schrieb am 17.03.2015 um 15:43:
> On 17.3.2015 15:19, Thomas Kellerer wrote:
>> Tomas Vondra schrieb am 17.03.2015 um 14:55:
>>>  (2) using window functions, e.g. like this:
>>>
>>>      SELECT * FROM (
>>>        SELECT *,
>>>             ROW_NUMBER() OVER (PARTITION BY touchpoint_execution_id
>>>                                ORDER BY FROM max_creation_dt) AS rn
>>>        FROM s_f_touchpoint_execution_status_history
>>>      ) foo WHERE rn = 1
>>>
>>>      But estimating this is also rather difficult ...
>>
>>
>> From my experience rewriting something like the above using DISTINCT
>> ON is usually faster.
>
> How do you get the last record (with respect to a timestamp column)
> using a DISTINCT ON?

You need to use "order by ... desc". See here: http://sqlfiddle.com/#!15/d4846/2

Btw: your row_number() usage wouldn't return the "latest" row either.
It would return the "oldest" row.








pgsql-performance by date:

Previous
From: Vivekanand Joshi
Date:
Subject: Re: Performance issues
Next
From: Tomas Vondra
Date:
Subject: Re: Performance issues