Re: Nested loop vs merge join: inconsistencies between estimated and actual time

From: Vlad Arkhipov <arhipov(at)dc(dot)baikal(dot)ru>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Nested loop vs merge join: inconsistencies between estimated and actual time
Date: 2008-03-11 01:52:12
Message-ID: 47D5E5CC.7020403@dc.baikal.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Tom Lane writes:
> Vlad Arkhipov <arhipov(at)dc(dot)baikal(dot)ru> writes:
>
>> I've came across this issue while writing report-like query for 2 not
>> very large tables. I've tried several methods to resolve this one (see
>> below). But now I'm really stuck...
>>
>
> It looks like you are wishing to optimize for all-in-memory situations,
> in which case the traditional advice is to reduce random_page_cost to
> something close to 1. AFAICS all the rowcount estimates you're seeing
> are spot on, or as close to spot on as you could realistically hope for,
> and so the problem lies with the cost parameters. Fooling with the
> statistics is not going to help if the rowcount estimates are already
> good.
>

I tried to change random_page_cost to 1.1 or something close to it and
increase/decrease effective_cache_size. But Postgres always prefer plan
with merge join.

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Robins Tharakan 2008-03-11 02:57:05 Re: count * performance issue
Previous Message Miguel Arroz 2008-03-11 00:33:58 Re: UPDATE 66k rows too slow