~/talk

Rules of Indexing in PostgreSQL

Talkat Postgres Conference Orlando 2025 · 2025-03-18..03-21· [databases]
links:none on file
slides:none on file

Covers concrete index choices and measured wins: using B-Tree INCLUDE columns turns a 0.15s nested-loop into a 0.05s index-only scan; adding an ORDER BY column removes an 18ms sort; specifying NULLS FIRST saves ~9ms (40% faster); a partial index cuts work by a third and drops removed rows from 698 to 4; hash beats B-Tree in one example (0.47s vs 0.60s) with much smaller size; GIN trigram hits 8ms on full-text while HNSW vector queries run ~107ms versus a tree-style scan index at 57ms (build 35s vs 2s, 293MB vs 12MB).

AI-written summary · about

  1. 0:00PostgreSQL indexing rules
  2. 1:46PostgreSQL index types
  3. 3:09B-tree indexes default
  4. 4:53B-tree sort and NULLs
  5. 8:49B-tree included columns
  6. 14:36Filtered indexes
  7. 17:10Function-based indexes
  8. 17:53Hash indexes
  9. 21:29GIN indexes
  10. 25:39BRIN indexes
  11. 28:29Bloom indexes
  12. 31:06Vector indexes
  13. 36:07Summary and Q&A
~/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.