Reading EXPLAIN: The Planner's Cost Model
All lessons
- Reading EXPLAIN: The Planner's Cost ModelFree
- EXPLAIN ANALYZE: Actual Rows, Loops and Misestimates Locked
- EXPLAIN BUFFERS: Pages, Cache Hits and Reads Locked
- pg_stats: Most Common Values and n_distinct Locked
- Histograms: Estimating Range Conditions Locked
- B-Tree Index or Seq Scan? The Break-Even Point Locked
- Multicolumn Indexes and the Leftmost Prefix Locked
- Covering Indexes, Index-Only Scans and the Visibility Map Locked
- Partial and Expression Indexes: Index Only What You Query Locked
- GIN Indexes for Arrays, jsonb and Full Text Locked
- BRIN Indexes for Huge Append-Only Tables Locked
- HOT Updates and Fillfactor Locked
- MVCC: xmin, xmax and Snapshot Visibility Locked
- Autovacuum: Thresholds, Scale Factors and Per-Table Tuning Locked
- Freezing and Transaction ID Wraparound Locked
- Isolation Levels and the Lost Update Locked
- Locks, Lock Queues and Safe Migrations Locked
- Range Partitioning and Partition Pruning Locked
- Roles, Privileges and Row Level Security Locked
- work_mem, Spills and the Memory Budget Locked
- Final Project: Tuning from pg_stat_statements Locked
You are not signed in — the lab works, but your progress is not saved. Sign up
Read first
The SQL
EXPLAIN
SELECT *
FROM shipments
WHERE status = 'delayed';Costs compare plans of the same query. Never compare the cost of two different queries, and never read the cost as time.
Loading the lab…