RE: Slow Running Queries in Azure PostgreSQL

2022-02-25 Thread Kumar, Mukesh
Hi Justin , 

Thanks for your help , After committing 1 parameter , the whole query executed 
in less than 1 min.



Thanks and Regards, 
Mukesh Kumar

-Original Message-
From: Justin Pryzby  
Sent: Wednesday, February 23, 2022 2:57 AM
To: Kumar, Mukesh 
Cc: pgsql-performa...@postgresql.org
Subject: Re: Slow Running Queries in Azure PostgreSQL

On Tue, Feb 22, 2022 at 02:11:58PM +, Kumar, Mukesh wrote:

>  ->  Hash Join  (cost=6484.69..43117.63 rows=1 width=198) (actual 
> time=155.508..820.705 rows=52841 loops=1)"
>Hash Cond: (((lms_doc_property_rights_assoc.doc_sid_c)::text = 
> (lms_doc_propright_status_assoc.doc_sid_c)::text) AND 
> ((lms_property_rights_base.property_sid_k)::text = 
> (lms_doc_propright_status_assoc.property_sid_c)::text))"

Your problem seems to start here.  It thinks it'll get one row but actually 
gets 53k.  You can join those two tables on their own to understand the problem 
better.  Is either or both halves of the AND estimated well ?

If both halves are individually estimated well, but estimated poorly together 
with AND, then you have correlation.

Are either of those conditions redundant with the other ?  Half of the AND 
might be unnecessary and could be removed.

--
Justin




Re: Slow Running Queries in Azure PostgreSQL

2022-02-22 Thread Justin Pryzby
On Tue, Feb 22, 2022 at 02:11:58PM +, Kumar, Mukesh wrote:

>  ->  Hash Join  (cost=6484.69..43117.63 rows=1 width=198) (actual 
> time=155.508..820.705 rows=52841 loops=1)"
>Hash Cond: (((lms_doc_property_rights_assoc.doc_sid_c)::text = 
> (lms_doc_propright_status_assoc.doc_sid_c)::text) AND 
> ((lms_property_rights_base.property_sid_k)::text = 
> (lms_doc_propright_status_assoc.property_sid_c)::text))"

Your problem seems to start here.  It thinks it'll get one row but actually
gets 53k.  You can join those two tables on their own to understand the problem
better.  Is either or both halves of the AND estimated well ?

If both halves are individually estimated well, but estimated poorly together
with AND, then you have correlation.

Are either of those conditions redundant with the other ?  Half of the AND
might be unnecessary and could be removed.

-- 
Justin