Disk usage for intermediate results in join

Lists: pgsql-hackers
From: Parul Lakkad <parul(dot)lakkad(at)gmail(dot)com>
To: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Disk usage for intermediate results in join
Date: 2014-03-11 11:24:57
Message-ID: CACmw6hSNjttk2uhP7KV-OWQ3Lv2KdeB8TdOva7J1EgMtLxzzug@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Hi,

I am trying to figure out when disk is used to store intermediate results
while performing joins in postgres.

According my findings using 'explain analyse ' only merge sort uses disk.
Can anyone please throw some more light on this?

Thanks,
Parul


From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: Parul Lakkad <parul(dot)lakkad(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Disk usage for intermediate results in join
Date: 2014-03-11 12:22:45
Message-ID: 531F0015.4000200@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On 03/11/2014 01:24 PM, Parul Lakkad wrote:
> Hi,
>
> I am trying to figure out when disk is used to store intermediate results
> while performing joins in postgres.
>
> According my findings using 'explain analyse ' only merge sort uses disk.
> Can anyone please throw some more light on this?

Hash joins will also spill to disk if the hash-side of the join is large
enough. The planner usually tries to avoid it, but sometimes it happens.

- Heikki


From: Marti Raudsepp <marti(at)juffo(dot)org>
To: Parul Lakkad <parul(dot)lakkad(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Disk usage for intermediate results in join
Date: 2014-03-14 15:54:26
Message-ID: CABRT9RBSNMq+eWEJsp70pN95+O3B2ftypzpcfZyGevWA8bY03Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Tue, Mar 11, 2014 at 1:24 PM, Parul Lakkad <parul(dot)lakkad(at)gmail(dot)com> wrote:
> I am trying to figure out when disk is used to store intermediate results
> while performing joins in postgres.

Joins can also cause a Nested Loop+Materialize plan, which spills to
disk if the materialize result set is too large for work_mem.

Regards,
Marti