~/talk

Multidimensional search strategies for composite B-Tree indexes

Talkat PGConf.dev 2025 · 2025-05-13..05-16· [databases]
slides:none on file

Adds Postgres 18 nbtree skip scan that treats composite B‑tree indexes as multidimensional and turns some full index scans into a series of small index searches using skip arrays and runtime adaptive decisions. Example: with 10 distinct leading A values a query WHERE b=5000 does an index‑only scan with about 10 distinct A values / 12 index searches instead of scanning every leaf page. Works with IN lists and ranges, improves Planner OR handling versus BitmapOr and can preserve index order for LIMIT/ORDER BY.

AI-written summary · about

  1. 0:00Introduction to skip scan
  2. 1:38Skip scan internals and benefits
  3. 10:19Skip scan examples and mechanics
  4. 21:24Architectural goals and adaptive skipping
  5. 28:10Related optimizer work in PostgreSQL 18
  6. 34:06Future improvements for complex ORs
  7. 45:19Conclusions and open questions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.