Generated from SQL structure and user-entered table statistics. It is useful for teaching and hypothesis formation. It does not reproduce a specific engine's optimizer.
Generated by a database such as PostgreSQL and imported as JSON. Actual timing and row data appear only when the source plan contains them.
Generated through an optional external model under the visitor's own credentials. It is interpretation, not execution evidence.
The current model uses transparent heuristics based on:
- estimated table row counts;
- declared indexed columns;
- number and shape of filter predicates;
- join-condition presence;
- aggregation, sorting, offset, and limit stages.
The cost values are relative educational units. They are designed to make changes visible, not to predict milliseconds.
The initial detector includes checks for:
SELECT *;- missing join conditions and Cartesian products;
- functions on filtered columns;
- leading-wildcard searches;
- random ordering;
- deep OFFSET pagination;
NOT INNULL semantics;- DISTINCT and UNION deduplication;
- OR predicates;
- possible correlated subqueries;
- unbounded exploratory result sets;
- undeclared join-key indexes.
Every rule should be treated as context-dependent. A rule firing is an invitation to measure, not proof that the query is wrong.
Research releases should compare browser estimates with real plans across controlled datasets. Recommended measurements include:
- cardinality-estimation error;
- ranking agreement for alternative plans;
- false-positive and false-negative rates for findings;
- user comprehension before and after visualization;
- stability across data distributions.