Re: Showing primitive index scan count in EXPLAIN ANALYZE (for skip scan and SAOP scans)

Peter Geoghegan <pg@bowt.ie>

From: Peter Geoghegan <pg@bowt.ie>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Matthias van de Meent <boekewurm+postgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-03-05T14:37:05Z
Lists: pgsql-hackers
Committed just now. Thanks again.

On Mon, Mar 3, 2025 at 4:01 PM Robert Haas <robertmhaas@gmail.com> wrote:
> On Thu, Feb 27, 2025 at 7:58 PM Peter Geoghegan <pg@bowt.ie> wrote:
> > It's easy to produce an example that makes intuitive sense. For
> > example, with skip scan that has a qual such as "WHERE a BETWEEN 1 and
> > 5 AND b = 12345", it is likely that EXPLAIN ANALYZE will show "Index
> > Searches: 5" -- one search per "a" value. Such an example might be
> > more useful than my original pgbench_accounts example.
> >
> > Do you think that that would help?
>
> Yes.

As you might have seen already, I added an example involving SAOPs to
"14.1.2. EXPLAIN ANALYZE". I have a TODO item about adding an
additional example involving skip scan immediately afterwards, as part
of the skip scan patch.

> > Perhaps a comment noting why the new counter lives in IndexScanDesc would help?
>
> +1.

Added a IndexScanDesc comment about this to the committed version.

--
Peter Geoghegan



Commits

  1. Show index search count in EXPLAIN ANALYZE, take 2.

  2. Show index search count in EXPLAIN ANALYZE.

  3. Allow usage of match_orclause_to_indexcol() for joins

  4. Fix nbtree pgstats accounting with parallel scans.

  5. Enhance nbtree ScalarArrayOp execution.

  6. Fix EXPLAIN ANALYZE of hash join when the leader doesn't participate.