Ga naar inhoud
100% lokaal

SQL EXPLAIN-plan formatter

Zet een geplakte EXPLAIN- of EXPLAIN ANALYZE-plan om in een leesbare, ingesprongen boom met de trage onderdelen gemarkeerd.

Invoer
Uitvoer

SQL EXPLAIN-plan formatter

Plak de onformateerde uitvoer van EXPLAIN of EXPLAIN ANALYZE en dit gereedschap zet de muur van tekst om in een ingesprongen boom van operaties, met de kosten, rijen en timing van elk knooppunt netjes ernaast. In plaats van een dicht blok van "cost=… rows=… actual time=…"-aantekeningen door te bladeren, krijgt u een vorm die u in één oogopslag kunt lezen – welke scan welke join voelt en waar de query echt zijn tijd doorbrengt.

Kies het dialect dat overeenkomt met uw database: PostgreSQL en MySQL 8's EXPLAIN ANALYZE gebruiken beide dezelfde ingesprongen "-> " boom, MySQL's klassieke (non-ANALYZE) EXPLAIN wordt rij voor rij geparseerd, en SQLite's EXPLAIN QUERY PLAN krijgt zijn eigen ASCII-boom en id/parent-formaten. Plak gewone tekst of schakel invoerindeling in op JSON voor PostgreSQL's EXPLAIN (FORMAT JSON) en MySQL's EXPLAIN FORMAT=JSON. Zet rijenaantallen aan met de geschatte-versus-werkelijke rijen, de drempel voor dure knooppunten bepaalt welk percentage van de totale kosten of tijd een knooppunt de "duur"-markering geeft, en verberg knooppunten onder laat u lage-kostencijfers uit een lange plan snoeien zodat uitbijters opvallen. Wissel uitvoer tussen een ingesprongen boom en een gewone uitgelijnde tabel.

De kosten en tijd die elk knooppunt rapporteert zijn cumulatief – zij bevatten al alles eronder – dus trekt het gereedschap de kinderen van elk knooppunt af voordat het iets rangt, wat voorkomt dat het topknooppunt van een query er altijd "duur" uitziet. De samenvattingsregel onder het plan telt de operaties, hoeveel er zijn gemarkeerd, en noemt de langzaamste tak van wortel tot blad, zodat u precies weet welke operatieketen u eerst moet onderzoeken.

Alles draait lokaal in uw browser – een queryplan kan tabel- en indexnamen onthullen die u liever niet in een willekeurig webformulier plakt, en niets ervan wordt ergens geüpload. Kopieer de opgemaakte boom, download als .txt-bestand of stuur de uitvoer terug naar invoer om de drempel aan te passen en opnieuw op te maken.

FAQ

Welke EXPLAIN-formaten herkent het?
PostgreSQL en MySQL 8's EXPLAIN ANALYZE boomuitvoer, MySQL's klassieke tabeluitvoer, SQLite's EXPLAIN QUERY PLAN (zowel zijn ASCII-boom als ruwe id/parent/detail-rijen), plus PostgreSQL's en MySQL's JSON-planformaten.
Waarom is het topknooppunt niet altijd als duur gemarkeerd?
De kosten en tijd die een knooppunt rapporteert, bevatten al alles eronder, dus het gereedschap vergelijkt het eigen aandeel van elk knooppunt na aftrekking van de kinderen – dat wijst op de werkelijke bottleneck in plaats van altijd de wortel op te lichten.
Wat gebeurt er als SQLite's plan geen kostengegevens heeft?
SQLite's EXPLAIN QUERY PLAN rapporteert geen kosten of timing, dus de boom formatteert zich nog steeds en de samenvatting zegt dat eerlijk in plaats van te gissen.
Verwijdert "verberg knooppunten onder" iets uit mijn plan?
Nee – het laat alleen rijen met laag aandeel uit deze weergave weg. Het wortelpunt blijft altijd zichtbaar, dus de boom behoudt zijn anker; voer opnieuw uit met een lagere drempel om alles te zien.
Wordt mijn queryplan ergens geüpload?
Nee. Parseren en formatteren gebeuren volledig in uw browser – het plan en alle tabel- of indexnamen erin verlaten uw apparaat nooit.