Design specification for every diagram in assets/diagrams/.
#0f172a).viewBox, no external font/image dependencies.sql-execution-pipeline.svg – Lesson 01Parse → Bind → Optimize → Execute → Return, each stage annotated.
execution-plan-tree.svg – Lesson 02EXPLAIN plan as a tree, read bottom-up, with estimated-vs-actual callouts.
sargable-vs-non-sargable.svg – Lesson 03Side-by-side: function-wrapped predicate (red, full scan) vs. SARGable rewrite (green, index seek).
covering-index.svg – Lesson 03Index structure showing all query-needed columns present, “no heap fetch required” callout.
nested-loop-vs-hash-vs-merge.svg – Lesson 04Three panels, one per join algorithm, numbered step sequence.
predicate-pushdown.svg – Lesson 04Before/after plan-tree pair: filter above join (red) vs. pushed below (green).
query-tuning-workflow.svg – Lesson 07Looped flow: Measure → Read the Plan → Hypothesis → Change One Thing → Verify, with a “didn’t help” arrow back to Hypothesis.
optimization-checklist.svg – ReferenceCompact pre-merge checklist card.
explain-to-cost-mapping.svg – Lesson 10Four rows (BigQuery, Snowflake, Redshift, RDS/Aurora): EXPLAIN/metadata signal → arrow → billed cost. Dimensions: 900x420px.
automate-vs-manual-decision-tree.svg – Lesson 11Three sequential decision diamonds (amber) with terminal outcomes – green “automate,” slate “manual review” (neutral, not a failure state). Dimensions: 920x520px.
ai-tuning-validation-workflow.svg – Lesson 12Dashed “AI suggestion” node (unverified) → solid validation-step nodes (EXPLAIN re-run → result-set diff → smell-catalog cross-check → CI gate) → failure branch to outright rejection, not a retry loop. Dimensions: 960x260px.
README.md’s Diagram Gallery table.