Re: using memoize in in paralel query decreases performance

From: David Rowley <dgrowleyml(at)gmail(dot)com>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: using memoize in in paralel query decreases performance
Date: 2023-03-06 08:16:41
Message-ID: CAApHDvonLQUDc7SUD4Usok=BP4T+5fK7rcM-wVOmtsvqdu1nAA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, 6 Mar 2023 at 20:34, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> wrote:
> In one query I can see very big overhead of memoize node - unfortunately with hits = 0
>
> The Estimate is almost very good. See details in attachment

Are you able to share the version number for this?

Also, it would be good to see EXPLAIN ANALYZE *VERBOSE* for the
memorize plan so we can see the timings for the parallel workers.

The results of:

EXPLAIN ANALYZE
SELECT DISTINCT ictc.sub_category_id
FROM ixfk_ictc_subcategoryid ictc
INNER JOIN item i ON i.item_category_id = ictc.sub_category_id
WHERE ictc.super_category_id = ANY
('{47124,49426,49488,47040,47128}'::bigint[]);

would also be useful. That should give an idea of the ndistinct
estimate. I guess memorize thinks there are fewer unique values than
the 112 that were found. There's probably not much to be done about
that. The slowness of the parallel workers seems like a more
interesting thing to understand.

David

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bharath Rupireddy 2023-03-06 08:17:35 Re: Simplify standby state machine a bit in WaitForWALToBecomeAvailable()
Previous Message Peter Eisentraut 2023-03-06 08:13:41 Re: Add support for unit "B" to pg_size_pretty()