Re: index prefetching

From: Konstantin Knizhnik <knizhnik(at)garret(dot)ru>
To: Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: index prefetching
Date: 2024-01-17 08:45:01
Message-ID: fd13ce28-912f-4851-a9c5-b03a0d794517@garret.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I have integrated your prefetch patch in Neon and it actually works!
Moreover, I combined it with prefetch of leaf pages for IOS and it also
seems to work.

Just small notice: you are reporting `blks_prefetch_rounds` in explain,
but it is not incremented anywhere.
Moreover, I do not precisely understand what it mean and wonder if such
information is useful for analyzing query executing plan.
Also your patch always report number of prefetched blocks (and rounds)
if them are not zero.

I think that adding new information to explain it may cause some
problems because there are a lot of different tools which parse explain
report to visualize it,
make some recommendations top improve performance, ... Certainly good
practice for such tools is to ignore all unknown tags. But I am not sure
that everybody follow this practice.
It seems to be more safe and at the same time convenient for users to
add extra tag to explain to enable/disable prefetch info (as it was done
in Neon).

Here we come back to my custom explain patch;) Actually using it is not
necessary. You can manually add "prefetch" option to Postgres core (as
it is currently done in Neon).

Best regards,
Konstantin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Shlok Kyal 2024-01-17 08:49:16 Re: speed up a logical replica setup
Previous Message Kartyshov Ivan 2024-01-17 08:16:35 Re: [HACKERS] make async slave to wait for lsn to be replayed