Re: Adding skip scan (including MDAM style range skip scan) to nbtree

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Tomas Vondra <tomas(at)vondra(dot)me>
Cc: Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>
Subject: Re: Adding skip scan (including MDAM style range skip scan) to nbtree
Date: 2025-05-09 15:55:19
Message-ID: CAH2-Wzk0AduEKWBnPVWr2v2+RZ4ZB0Sbm7iMwJBhTX=BAjVAEw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, May 9, 2025 at 10:57 AM Tomas Vondra <tomas(at)vondra(dot)me> wrote:
> I see the regression even with variants that actually match some rows.
> For example if I do this:

> so that the query matches 100 rows, I get the same behavior.

That's really weird, since the index scans will no longer be cheap.
And yet whatever the overhead is still seems to be plainly visible. I
would expect whatever the underlying problem is to be completely
drowned out once the index scan had to do real work.

I wonder if it could be due to the fact that I added a new support
function, support function #6/skip support? That would have increased
the size of things like RelationData.rd_support and
RelationData.rd_supportinfo.

Note that "sizeof(FmgrInfo)" is 48 bytes. Prior to skip scan,
RelationData.rd_supportinfo would have required 48*5=240 bytes. After
skip scan, it would have required 48*6=288 bytes. Maybe 256 bytes is
some kind of critical threshold, someplace?

--
Peter Geoghegan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2025-05-09 16:09:01 Re: Adding skip scan (including MDAM style range skip scan) to nbtree
Previous Message Andres Freund 2025-05-09 15:50:45 Re: Why our Valgrind reports suck