SQL From Zero: Query Real Data With Confidence
by Sofia Navarro
Turn EXPLAIN output into a fix list, and make slow endpoints fast without guesswork.
SN Created by Sofia Navarro
Every bullet below is something you will have built, shipped or be able to explain by the time you finish the last lesson.
7 modules · 64 lessons · 8h 30m of material
9 lessons running 1h 8m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
9 lessons running 1h 14m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
10 lessons running 1h 20m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
9 lessons running 1h 16m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
9 lessons running 1h 12m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
9 lessons running 1h 10m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
9 lessons running 1h 10m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
7 modules · 64 lessons
8h 30m total length
Short list, and deliberately so. If you meet these you can start today.
Database performance work is usually done by superstition. This course replaces that with a method: read the plan, find the expensive node, understand why the planner chose it, change one thing, measure again.
You learn to read EXPLAIN ANALYZE output properly, which means understanding the tree structure, the difference between estimated and actual rows, what loops multiplies, where buffer statistics reveal the real cost, and why the first number in a plan node is almost never the one that matters. Then you go node by node through the operators you will actually meet: sequential and index scans, bitmap heap scans, nested loop, hash and merge joins, sorts that spill to disk, hash aggregates, and common table expressions and their materialisation behaviour.
The heart of the course is a catalogue of real problems, each reproduced on a database you generate locally. A statistics estimate that is wrong by three orders of magnitude. A function on an indexed column defeating the index. An implicit cast doing the same thing invisibly. A join order the planner got backwards. Pagination that degrades linearly with offset. A correlated subquery running ten thousand times.
The final modules make it sustainable: finding slow queries in production, catching plan regressions after a deploy, and knowing when the honest answer is to change the schema rather than the query.
Still unsure about something? Write to misteryjj100@gmail.com and a human answers, usually the same working day.
Reviews are written by people who bought this course. We publish the critical ones too.
5.0
Rated 5.0 out of 5Course rating · 1 review
Kofi Mensah
Data engineer
Being taught to check the ratio between estimated and actual rows before looking at anything else turned EXPLAIN output from a wall of text into a checklist I can work through. I found stale statistics behind a slow reporting query within a day of finishing.
Python and data engineer
Sofia builds the pipelines that keep analytics teams honest, mostly Python on top of PostgreSQL under uncomfortable load. She teaches schema design, indexing and query planning against anonymised production datasets rather than toy tables, then wires the same data into pandas so the SQL and the Python halves stop being separate skills. Expect to spend real time reading execution plans and rather less time reading slides. She consults on migrations for teams that cannot afford downtime.
One-time payment · lifetime access