SQL Performance Lab
In development
Context
A project in development for studying how to diagnose and optimize MySQL queries with EXPLAIN ANALYZE, keeping SQL at the center and using synthetic data.
Problem
A SQL optimization should be observable, measurable, and explainable together with the cost or limitation it introduces. An isolated recommendation is not enough.
Objective
I am defining a reproducible SQL lab and supporting tooling for documenting diagnosis, comparisons, and limitations without moving SQL out of the center.
Technical decisions
- Keep MySQL and SQL at the center of the analysis.
- Use EXPLAIN ANALYZE, indexes, and synthetic datasets to compare variants.
- Use .NET and C# only as supporting tooling for connection, generation, validation, and capture.
- Keep the context of each measurement so one result is not presented as universal.
MVP scope
- The MVP scope includes a local runner, SQL scenarios, reproducible data generation, and comparable measurements.
- A presentation layer and any additional interface remain outside the defined technical scope.
Approach
The planned flow connects a problem, baseline query, EXPLAIN ANALYZE, diagnosis, an index or query change, a new measurement, and a documented trade-off.
Current status
The project is still in development. Planned capabilities are not presented as finished features.
Limits
- The project is still in development; this page does not claim a finished presentation.
- Measurements depend on hardware, the MySQL version, and the selected dataset.
- An API, dashboards, and an operational web application are not presented because they are outside the stated public scope.
Current status
In development. The repository documents the lab objective and approach; measurements must be read within the scenario and configuration that produced them.
What it will demonstrate
- An optimization is more useful when the problem, plan, measurement, and trade-off remain visible.
- SQL should stay readable and reviewable even when supporting tooling surrounds it.
Technologies
- MySQL
- SQL
- EXPLAIN ANALYZE
- .NET
- C#