Preskoči na sadržaj
100% lokalno

SQL EXPLAIN plan formatator

Pretvori pejsčani EXPLAIN ili EXPLAIN ANALYZE plan u čitljivo uvučeno stablo sa označenim sporim dijelovima.

Unos
Rezultat

SQL EXPLAIN plan formatator

Zalijepi neuobičajeni izlaz EXPLAIN ili EXPLAIN ANALYZE pa će ovaj alat tekst pretvoriti u uvučeno stablo operacija, sa troškovima, brojevima redaka i vremenima poravnanim do svakog čvora. Umjesto čitanja gustog bloka "cost=… rows=… actual time=…" napomena, dobijate oblik koji možete čitati na prvi pogled — koji sken hrani koji join, i gdje upit zaista troši vrijeme.

Odaberi dijalekt koji odgovara tvojoj bazi: PostgreSQL i MySQL EXPLAIN ANALYZE koriste isti uvučeni "-> " oblik, klasični MySQL (bez ANALYZE) EXPLAIN se parsira redak za redak, a SQLite EXPLAIN QUERY PLAN ima svoj ASCII-stablonski format sa id/parent oznakama. Zalijepi obični tekst ili promijeni ulazni format na JSON za PostgreSQL EXPLAIN (FORMAT JSON) i MySQL EXPLAIN FORMAT=JSON izlaz. Prikaži brojeve redaka uključuje procijenjene nasuprot stvarnim brojevima, prag skupog čvora kontrolira koji postotak od ukupnog troška ili vremena zaslužuje "skupo" označavanje, a sakrij čvorove ispod omogućava vam da isječete grane niske cijene iz dugog plana kako bi se outliersi istakli. Prebacujte između uvučenog stabla i običnog poravnatog tablice.

Trošak i vrijeme koje svaki čvor prijavljuje su kumulativni — već uključuju svakog dijete ispod — pa alat oduzima djecu svakog čvora prije rangiranja čega bilo, što zaustavlja da čvor gornje razine upita nikad ne izgleda kao "skupo" jedan. Linija sažetka ispod plana broji operacije, računa koliko je označeno, i imenuje najsporiju granu od korijena do lista kako bi ste znali točno koju lanac operacija trebate prvo istražiti.

Sve se izvršava lokalno u vašem pretraživaču — plan upita može otkriti imena tablica i indeksa koja radije ne biste zalili u nasumičan web oblik, i ništa nije učitano nigdje. Kopiraj formatirano stablo, preuzmi ga kao .txt datoteku, ili pošalji izlaz natrag u unos da prilagodim prag i reformatiram.

FAQ

Koje EXPLAIN formate razumije?
PostgreSQL i MySQL 8 EXPLAIN ANALYZE stablonski izlaz, klasični MySQL tablični EXPLAIN, SQLite EXPLAIN QUERY PLAN (i njegov ASCII-stablo i neuobičajeni id/parent/detail redakci), plus PostgreSQL i MySQL JSON plan formate.
Zašto vrhnje čvor nikad nije označen kao skupo?
Troškovi i vrijeme koje čvor javlja već uključuju sve ispod njega, pa alat uspoređuje svaki čvor vlastiti dio nakon oduzimanja njegovih djece — to pokazuje na stvarno usko grlo umjesto da bude uvijek istaknuto korijenski čvor.
Što se dogodi ako SQLite plan nema podatke o troškovima?
SQLite EXPLAIN QUERY PLAN ne prijavljuje troškove ili timing, pa se stablo i dalje formatira i sažetak to iskreno kaže umjesto da pogađa označavanjem.
Briše li "sakrij čvorove ispod" bilo šta iz mog plana?
Ne — samo izostaje redakce nisko-dijeljenja iz ovog prikaza. Vrhnje operacija uvijek ostaje vidljiva pa stablo zadržava svoju sidru; ponovno pokreni sa nižim pragom da vidiš sve ponovno.
Je li moj plan upita učitao gdje?
Ne. Parsiranje i formatiranje se odvija potpuno u vašem pretraživaču — plan, i sva imena tablice i indeksa u njemu, nikad ne napuštaju vašu naprave.