From: | David Rowley <dgrowleyml(at)gmail(dot)com> |
---|---|
To: | Marc Millas <marc(dot)millas(at)mokadb(dot)com> |
Cc: | "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: pb with join plan |
Date: | 2023-06-20 20:14:05 |
Message-ID: | CAApHDvoEuNtDP9=_eRh=bBvZ+dKVBBQbB5x77caHn2Wva1UtPQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Wed, 21 Jun 2023 at 07:42, Marc Millas <marc(dot)millas(at)mokadb(dot)com> wrote:
> But if I do the same with clause one OR clause 2, I have to kill the request after an hour, seeing the filesystem showing more than 140 Mb of increased usage.
> So, before providing the 3 explain plans (I must anonymize everything, so somewhat boring) I would like to know if there is some obvious thing I am missing.
> all tables have been vacuum analyzed.
I believe you can anonymise the explain with https://explain.depesz.com/
It's pretty hard to say until we see the query, but having an OR in
the join condition makes it impossible to Hash or Merge join, so
perhaps it's slow due to Nested Loop join.
You could consider rewriting the query to use a UNION or a UNION ALL
separating out each branch of the OR into a UNION of its own. That
would allow Hash and Merge join to work again. However, that's all
speculation until you provide more details.
https://wiki.postgresql.org/wiki/Guide_to_reporting_problems
David
From | Date | Subject | |
---|---|---|---|
Next Message | Les | 2023-06-20 20:26:23 | how to return data from insert into ... on conflict ... returning ... into |
Previous Message | Adrian Klaver | 2023-06-20 20:08:37 | Re: strange behavior of .pgpass file |