Query with correlated join having slow performance

From: saket bansal <saket(dot)tcs(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Query with correlated join having slow performance
Date: 2019-12-09 18:22:51
Message-ID: CACkcRNhrQ+aRvm9yokNNPEFeJPF4B3UiC4MphY2ndDxudYRz0A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Postgres Experts,

Please help me on a query tuning.
Postgres verson: 11.5
This database has been migrated from oracle 12c to postgres. In Oracle
query executes in 2-3 secs, but in postgres it hangs forever. There are no
transactions at this time, I am stuck at first run after migration.

My analysis:

I have done vacuum full , analyze , even with 100% samples using a much
higher value of default_statistics_target.
Also tried different hints using pg_hint_plan extension. Overall cost
reduces, but actual run hangs forever.
I think problem is with correlated subquery join condition.
If "and pdtaltrelt*%*_.tenant_dkby=pdtaltrelt0_.tenant_dkby" condition is
removed from both subqueries, result comes in secs(I understand that would
be skipping correlated join)

SQL> select count(*) from pdtalt_rel_to_tenant_rel;
267216

SQL> select count(distinct tenant_dkby) from pdtalt_rel_to_tenant_rel;
3

Table DDLs , query plan and parameter configuration available at below git
link:
https://github.com/bansalsaket/PG_correlated_subquery_slowness

I have 16 GB , 4 CPU , rhel 7 machine.

Thanks for help in advance, let me know if any additional information is
required

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Michael Lewis 2019-12-09 18:48:47 Re: Query with correlated join having slow performance
Previous Message Albrecht Dreß 2019-12-09 17:30:09 Re: Q: cert authentication and user remapping fails