/ config

Settings

Theme
Language

Lesson text

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

Code text

consumer.subscribe(topics)
Font
Size
14px

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