Re: WIP: BRIN multi-range indexes

From: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
To: John Naylor <john(dot)naylor(at)2ndquadrant(dot)com>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: WIP: BRIN multi-range indexes
Date: 2020-09-13 16:40:43
Message-ID: 20200913164043.y7od5go6ao6i3cvc@development
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

while running some benchmarks to see if the first two patches cause any
regressions, I found a bug in 0002 which reworks the NULL handling. The
code failed to eliminate ranges early using the IS NULL scan keys,
resulting in expensive recheck. The attached version fixes that.

I also noticed that some of the queries seem to be slightly slower, most
likely due to bringetbitmap having to split the scan keys per attribute,
which also requires some allocations etc. The regression is fairly small
might be just noise (less than 2-3% in most cases), but it seems just
allocating everything in a single chunk eliminates most of it - this is
what the new 0003 patch does.

OTOH the rework also helps in other cases - I've measured ~2-3% speedups
for cases where moving the IS NULL handling to bringetbitmap eliminates
calls to the consistent function (e.g. IS NULL queries on columns with
no NULL values).

These results seems very dependent on the hardware (especially CPU),
though, and the differences are pretty small in general (1-2%).

regards

--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachment Content-Type Size
0004-BRIN-bloom-indexes-20200913.patch text/plain 138.7 KB
0002-Move-IS-NOT-NULL-handling-from-BRIN-support-20200913.patch text/plain 23.3 KB
0003-optimize-allocations-20200913.patch text/plain 3.2 KB
0004-BRIN-bloom-indexes-20200913.patch text/plain 138.7 KB
0005-BRIN-minmax-multi-indexes-20200913.patch text/plain 217.3 KB
0006-Ignore-correlation-for-new-BRIN-opclasses-20200913.patch text/plain 4.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2020-09-13 18:37:08 Re: Sometimes the output to the stdout in Windows disappears
Previous Message Nikolay Shaplov 2020-09-13 16:04:14 Re: [PATCH] Finally split StdRdOptions into HeapOptions and ToastOptions