Re: MergeJoin beats HashJoin in the case of multiple hash clauses - Mailing list pgsql-hackers

From Tender Wang
Subject Re: MergeJoin beats HashJoin in the case of multiple hash clauses
Date
Msg-id CAHewXNnZgRPhX06-y+67=h75mfbJjVmtK=28xHwFxfcyK4o0-g@mail.gmail.com
Whole thread Raw
In response to Re: MergeJoin beats HashJoin in the case of multiple hash clauses  (Tender Wang <tndrwang@gmail.com>)
List pgsql-hackers


Tender Wang <tndrwang@gmail.com> 于2025年4月24日周四 22:07写道:


Tender Wang <tndrwang@gmail.com> 于2025年4月14日周一 14:17写道:
Hi,

While I debug hashjoin codes,  in estimate_multivariate_bucketsize(), I find that
the list_copy(hashclauses) below is unnecessary if we have a single join clause.

List       *clauses = list_copy(hashclauses);
...

I adjust the place of list_copy() call as the attached patch.
This can save some overhead of function calls and memory copies.

Any thoughts?


Hi Alexander,

In the last thread, I found a minor optimization for the code in  estimate_multivariate_bucketsize().
Adjust the place of list_copy() at the start of estimate_multivariate_bucketsize, and we can avoid unnecessarily creating a new list
and memory copy if we have only a single hash clause.

Do you think it's worth doing this?

Hi all,

I have added this patch to commitfest[1]. I'm hoping someone can review it for me.




--
Thanks,
Tender Wang

pgsql-hackers by date:

Previous
From: Jiří Kavalík
Date:
Subject: Re: [PATCH] Support for basic ALTER TABLE progress reporting.
Next
From: Amit Kapila
Date:
Subject: Re: Check for existing replication slot in pg_createsubscriber