EXPLAIN-Plan visualisieren, die langsame Stelle finden.
Mit LetDraw kannst du einen EXPLAIN-Plan visualisieren: Füg einen Postgres- oder MySQL-Plan als JSON ein und LetDraw zeichnet den Ausführungsplan als Baum, ein Kasten pro Planknoten mit Kosten, Zeilen und Laufzeit. Eine Heatmap färbt jeden Knoten nach der Zeit oder den Kosten, die er selbst beiträgt, sodass der langsame Abfrageschritt rot aufleuchtet.
Vom Ausführungsplan zum Bild in vier Schritten
Führ EXPLAIN als JSON aus, füg das Ergebnis ein und lies den Baum statt einer Textwand.
Plan als JSON holen
Führe in Postgres EXPLAIN (FORMAT JSON) vor deiner Abfrage aus oder EXPLAIN (ANALYZE, FORMAT JSON) für echte Laufzeiten. In MySQL nutze EXPLAIN FORMAT=JSON.
In „Aus Code generieren“ einfügen
Öffne „Aus Code generieren“ (eine Pro-Funktion) im Menü „Weitere Werkzeuge“ und füge ein. Der Plan wird automatisch erkannt und eine Live-Vorschau erscheint.
Heatmap lesen
Grüne Knoten tragen wenig bei, rote am meisten. Ordne den Baum von oben nach unten oder von links nach rechts an, je nachdem, was sich besser liest.
Kommentieren und teilen
Füge den Baum ein, setz eine Notiz mit deinem Fix an den roten Kasten, dann teil einen Link oder exportiere als PNG, SVG oder PDF.
Heatmap nach Eigenzeit, nicht nach Summen
Postgres meldet Kosten und Zeit kumulativ, deshalb wirkt die Wurzel eines Plans immer am teuersten. Wer hier den EXPLAIN-Plan visualisiert, sieht die Werte ohne die Kindknoten: Gefärbt wird nach dem, was ein Knoten selbst beiträgt, von Grün über Bernstein bis Rot. Jeder Kasten zeigt den Knotentyp und die Tabelle, den Index oder die Funktion, auf der er arbeitet, dazu Kosten, Zeilen und mit ANALYZE die Zeit in Millisekunden über alle Schleifen.
- Postgres EXPLAIN im JSON-Format, mit oder ohne ANALYZE
- MySQL EXPLAIN FORMAT=JSON, mit jeder Tabelle samt Zugriffstyp, Kosten und Zeilen
- Läuft in deinem Browser, Plan und Tabellennamen bleiben also auf deinem Rechner
Langsame Ausführungspläne leicht besprechbar machen
Einen rohen Plan entziffert eine Person allein; einen farbigen Baum versteht das ganze Team.
Langsame Abfragen eingrenzen
Finde den sequenziellen Scan oder den teuren Join in Sekunden, statt durch verschachteltes JSON zu scrollen.
Vor und nach einem Index
Füg beide Pläne auf einer Leinwand ein und zeig genau, welcher Knoten von Rot zu Grün gewechselt ist.
Code-Reviews
Häng den Plan einer neuen Abfrage an den Pull Request, damit Reviewer ihre Kosten sehen und nicht nur ihr SQL.
Incident-Berichte
Exportiere den Baum mit Heatmap als PNG, SVG oder PDF und zeig den Übeltäter direkt im Post-Mortem.
Übergaben zwischen Entwicklung und DBA
Teilt ein Board, auf dem beide Seiten in Echtzeit dieselben Planknoten kommentieren.
Query-Planner verstehen
Sieh, wie Joins, Scans und Sorts ineinander verschachtelt sind und warum der Planner sie gewählt hat.
FAQ: EXPLAIN-Plan visualisieren
Welche EXPLAIN-Ausgabe kann ich einfügen?
Sollte ich EXPLAIN ANALYZE verwenden?
Verlässt mein Ausführungsplan den Browser?
Ist das kostenlos?
Weitere Diagramme aus Code
Lass den Engpass sich selbst vorstellen.
Öffne LetDraw, füg deinen EXPLAIN-Plan als JSON ein und sieh, wo die Abfrage ihre Zeit verbringt.