Skip to content

Hands-on SQL performance course

Learn to fix slow SQL by reading the query plan.

Write SQL in your browser and read the SQLite query plan. QueryPlan checks your result and your plan, so a correct result can still fail when the query does unnecessary work. No videos. No setup.

No signup for the visualizer. Your schema, SQL, results, and query plan stay in your browser.

How QueryPlan checks your work

We grade the result and the query plan.

Each exercise checks the rows your query returns. It also checks the work SQLite chose. You learn why a query is slow, then change the SQL or index and run it again.

Query

3 rows
SELECT id, total
FROM orders
WHERE customer_id + 0 = 3;

Correct result

The query returned the three expected orders.

Poor plan

The expression makes SQLite scan every row.

EXPLAIN QUERY PLAN

SCANorders — reads every row
Remove the expression around the indexed column
SEEKorders using idx_orders_customer

✓ Result pass: matched 3 rows

✗ Plan fail: full scan of orders

The result is correct, but the full table scan still fails. QueryPlan shows the plan record that caused the failure and asks you to fix it.

Five modules

Learn how SQL runs and where extra work starts.

Work through 50 SQL exercises on scans, indexes, joins, sorting, and grouping.

Plan on about 9–21 hours

  1. 01

    Reading queries

    Read a query in the order its clauses take effect.

  2. 02

    How queries run

    Spot full scans, index searches, join loops, and temporary work.

  3. 03

    Indexes

    Learn which filters can use an index and why column order matters.

  4. 04

    Joins

    Trace join order and see how often each lookup repeats.

  5. 05

    Sorting & grouping

    Find sorts and groups that an index may be able to avoid.

Use the visualizer and complete Module 1 for free. Unlock Modules 2–5 for $99.

Free

$0

Query Plan Visualizer

Paste a schema and query, run real SQLite, and inspect the query plan. No signup required.

Try the free visualizer

Immediate access

$99 lifetime access

Modules 2–5

Continue through all paid modules after the free first module.

Module 1 stays free.

All sales are final except where required by applicable law. Terms.

See Modules 2–5 — $99 lifetime

Teams

$149/seat

Train your team to diagnose slow SQL consistently

Five-seat minimum. See the price, what team owners can view, and how access is set up.

See QueryPlan for teams

Learn how a SQL rewrite turns a full scan into an index lookup.

The challenge arrives immediately, followed by occasional QueryPlan product updates. Unsubscribe at any time. Read our Privacy Policy and Terms.

Questions

Is QueryPlan video-based?

No. You learn by writing SQL, reading the query plan, and revising your query.

Why SQLite instead of PostgreSQL or MySQL?

SQLite can run real queries in your browser. The main questions transfer to other databases: Did the query scan a table, search an index, repeat a broad join, or create a temporary sort? PostgreSQL and MySQL use different plan terms and may choose different work.

Who is this for?

QueryPlan is for backend and full-stack engineers who can write SQL and want a clear way to find why a query is slow.