Re: Hybrid Hash/Nested Loop joins and caching results from subplans

From: David Rowley <dgrowleyml(at)gmail(dot)com>
To: Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, Konstantin Knizhnik <k(dot)knizhnik(at)postgrespro(dot)ru>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Hybrid Hash/Nested Loop joins and caching results from subplans
Date: 2021-05-26 03:43:54
Message-ID: CAApHDvp7NvZcG+XjtAFdA8pZiCXpsMZVTmMKT5Upn_Ud9Re8Hg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 26 May 2021 at 14:19, Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com> wrote:
> I just checked the latest code, looks like we didn't improve this situation except
> that we introduced a GUC to control it. Am I missing something? I don't have a
> suggestion though.

Various extra caching was done to help speed it up. We now cache the
volatility of RestrictInfo and PathTarget.

I also added caching for the hash function in RestrictInfo so that we
could more quickly determine if we can Result Cache or not.

There's still a bit of caching left that I didn't do. This is around
lateral_vars. I've nowhere to cache the hash function since that's
just a list of vars. At the moment we need to check that each time we
consider a result cache path. LATERAL joins are a bit less common so
I didn't think that would be a huge issue. There's always
enable_resultcache = off for people who cannot tolerate the overhead.

Also, it's never going to be 100% as fast as it was. We're considering
another path that we didn't consider before.

Did you do some performance testing that caused you to bring this topic up?

David

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2021-05-26 04:57:04 Re: Multi-Column List Partitioning
Previous Message Tom Lane 2021-05-26 03:27:28 Re: locking [user] catalog tables vs 2pc vs logical rep