2015-03-18 14:31 GMT-03:00 Vivekanand Joshi <vjoshi@xxxxxxxxxxxxxxxxxxx>:
So, here is the first taste of success and which gives me the confidence
that if properly worked out with a good hardware and proper tuning,
PostgreSQL could be a good replacement.
Out of the 9 reports which needs to be migrated in PostgreSQL, 3 are now
running.
Report 4 was giving an issue and I will see it tomorrow.
Just to inform you guys that, the thing that helped most is setting
enable_nestloops to false worked. Plans are now not miscalculated.
Regards,
Vivek
-----Original Message-----
From: pgsql-performance-owner@xxxxxxxxxxxxxx
[mailto:pgsql-performance-owner@xxxxxxxxxxxxxx] On Behalf Of Tomas Vondra
Sent: Tuesday, March 17, 2015 9:00 PM
To: pgsql-performance@xxxxxxxxxxxxxx
Subject: Re: Performance issues
On 17.3.2015 16:24, Thomas Kellerer wrote:
> 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
Nice, thanks!
>
> Btw: your row_number() usage wouldn't return the "latest" row either.
> It would return the "oldest" row.
Oh, right. I forgot the DESC in the window.
--
Tomas Vondra http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance
--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance
"But this is not a production-suitable setting. So what do you think how to
get a work around this?"What about creating a read-only replica and apply this setting there?