/ config

Settings

Theme
Language

Lesson text

Pick a typeface and size that make long lessons comfortable to read.
Font
Size
S

Code text

consumer.subscribe(topics)
Font
Size
XS

Progress

Free readingUnlock every lesson and hide progress
ResourcesGitHub repositorycourse source code→
/ contents

Course outline

0 / 63 (0%)
    1. 01Reading EXPLAIN ANALYZE25m
    2. 02B-tree and column order25m
    3. 03When indexes don't help20m
    4. 04Partial, covering, and unique25m
    5. 05GIN for jsonb and arrays25m
    6. 06CREATE INDEX CONCURRENTLY20m
HomeGitHub repository
07/ 11·6 lessons·2 h 20 min

Indexing and EXPLAIN

Performance through reading plans: EXPLAIN ANALYZE with buffers (on by default in PG18), B-tree and column order (PG18 skip-scan), when indexes don't help (expression index), partial/covering/unique and Index-Only Scan, GIN for jsonb/arrays, CREATE INDEX CONCURRENTLY.

Start module→Continue · Reading EXPLAIN ANALYZE→Reread module→Next module →
Progress0 / 6
0%
Lessons
6
Duration
2 h 20 min
Stack
Go
/ lessons

Lessons

6 lessons · 2 h 20 min
  1. 01✓Reading EXPLAIN ANALYZE↳ continue from here#explain#analyze#buffers25m→
  2. 02✓B-tree and column order↳ continue from here#btree#composite-index#left-prefix25m→
  3. 03✓When indexes don't help↳ continue from here#non-sargable#expression-index#lower20m→
  4. 04✓Partial, covering, and unique↳ continue from here#partial-index#covering-index#include25m→
  5. 05✓GIN for jsonb and arrays↳ continue from here#gin#jsonb#arrays25m→
  6. 06✓CREATE INDEX CONCURRENTLY↳ continue from here#create-index-concurrently#locks#migrations20m→
← Previous moduleTransactionsNext module →JSONB, arrays, and search