Question on Buckets and Batches in explain plan - Mailing list pgsql-general

From Charlin Barak
Subject Question on Buckets and Batches in explain plan
Date
Msg-id CAPrg5cbPxSqrgAPKtSjt3J8ajJB6M1G=o297YLK1oNzUNWJcWw@mail.gmail.com
Whole thread Raw
Responses Re: Question on Buckets and Batches in explain plan
List pgsql-general
Hi,
I ran a query on two supposedly similarly configured 9.6.8 databases but got two different timings. One ran three times faster than the other.

The explain plans on both systems look the same except for the Buckets and Batches. Can someone explain what that means and what configuration settings I should compare between the systems? The faster plan seems to be fetching data in bigger batches (2048) thus requiring fewer buckets ( 65536)?

Faster plan.
->  Hash  (cost=1805846.88..1805846.88 rows=76895088 width=49) (actual time=143919.988..143919.988 rows=83895440 loops=1)
                                       Buckets: 65536  Batches: 2048  Memory Usage: 3513kB
                                       Buffers: shared hit=2 read=1036894, temp written=652371


Slower plan
->  Hash  (cost=1805862.40..1805862.40 rows=76895440 width=49) (actual time=530978.279..530978.279 rows=83895440 loops=1)
                                        Buckets: 2097152  Batches: 64  Memory Usage: 112069kB
                                        Buffers: shared hit=1 read=1036907, temp written=643448


Thanks.

pgsql-general by date:

Previous
From: Sam Saffron
Date:
Subject: Faster way of estimating database size
Next
From: Adrian Klaver
Date:
Subject: Re: Question on Buckets and Batches in explain plan