← Back to projects

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

  1. The MVP scope includes a local runner, SQL scenarios, reproducible data generation, and comparable measurements.
  2. 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#

Links

  • View code on GitHub(opens in a new tab)