Vizualizér plánu dotazů

Pomocí vizualizéru plánu dotazů v rozšíření PostgreSQL můžete zkontrolovat výstup PostgreSQL EXPLAIN bez opuštění editoru. Plán můžete vygenerovat z editoru dotazů nebo panelu Výsledky dotazu PostgreSQL nebo otevřít existující výstup plánu JSON nebo TEXT z editoru. Vizualizér běží stejným způsobem jako v Visual Studio Code a kurzoru.

Prerequisites

  • Nainstalované rozšíření PostgreSQL.
  • Aktivní připojení k serveru PostgreSQL, pokud chcete vygenerovat živý plán z editoru dotazů nebo panelu Výsledky dotazu PostgreSQL.
  • Volitelný asistent AI, pokud chcete analýzu s asistencí umělé inteligence: nainstalujte GitHub Copilot v Visual Studio Code nebo použijte integrovanou AI v kurzoru.
  • Pokud chcete importovat uložený plán bez připojení k databázi, volitelný EXPLAIN výstup už je v editoru otevřený.

Zvolte, jak otevřít plán

Použijte vstupní bod, který odpovídá vašemu pracovnímu postupu:

  • Editor dotazů: Na panelu nástrojů editoru vyberte Vizualizovat plán dotazů (PostgreSQL ). Pokud nejdřív nevyberete text, použije rozšíření aktuální obsah editoru.
  • Panel Výsledky dotazu PostgreSQL: Spusťte dotaz a pak na panelu nástrojů Panel Výsledky dotazu PostgreSQL vyberte Vizualizovat plán dotazu a prozkoumejte dotaz, který vytvořil danou sadu výsledků.
  • Importovaný plán: Otevřete libovolnou kartu editoru, která obsahuje výstup plánu PostgreSQL, a pak spusťte PGSQL: Vizualizovat plán dotazů z editoru z palety příkazů.

Generování plánu z živého dotazu

  1. Otevřete soubor SQL, který chcete zkontrolovat v editoru dotazů.
  2. Připojte se k cílové databázi.
  3. Vyberte příkaz, který chcete analyzovat. Pokud výběr necháte prázdný, použije rozšíření aktuální obsah editoru.
  4. Na panelu nástrojů editoru vyberte Vizualizovat plán dotazů (PostgreSQL ). Nejprve můžete spustit dotaz a pak vybrat Vizualizovat plán dotazů na panelu Výsledky dotazu PostgreSQL .
  5. V části Konfigurovat plán dotazů zvolte požadovaný formát a možnosti a stiskněte Enter.
  6. Zkontrolujte plán ve vizualizéru.

Konfigurace možností plánu dotazů

Nabídka Konfigurace plánu dotazu umožňuje vybrat výstupní formát a EXPLAIN možnosti, které se mají použít.

Option Co se změní
JSON Vrátí výstup strukturovaného plánu, který nejlépe funguje napříč vizuálními zobrazeními.
TEXT Vrátí výstup prostého textu EXPLAIN PostgreSQL a zachová tento zdroj ve zdrojovém zobrazení.
ANALYZOVAT Spustí dotaz a zahrne skutečné statistiky běhu.
VYROVNÁVACÍ PAMĚŤ Přidá statistiku využití vyrovnávací paměti. Výběrem automaticky povolíte funkci ANALYZE.
NAČASOVÁNÍ Přidá skutečná data časování. Výběrem automaticky povolíte funkci ANALYZE.
WAL Přidá statistiky využití WAL. Výběrem automaticky povolíte funkci ANALYZE.
PODROBNÉ Přidá další výstupní podrobnosti, jako jsou informace o schématu a sloupci.
NÁKLADY Zahrnuje odhadované hodnoty nákladů na spuštění a celkové náklady.
NASTAVENÍ Zahrnuje nastavení plánovače, která se liší od výchozích hodnot.

Caution

EXPLAIN ANALYZE spustí dotaz. Pokud příkaz upraví data, například INSERT, UPDATE, DELETEnebo TRUNCATE, rozšíření zobrazí výzvu k potvrzení před pokračováním.

Otevření uloženého plánu z editoru

  1. Otevřete kartu editoru, která obsahuje výstup PostgreSQL EXPLAIN ve formátu JSON nebo TEXT.
  2. Otevřete paletu příkazů (Ctrl+Shift+P).
  3. Spusťte PGSQL: Vizualizujte plán dotazů z Editoru.
  4. Zkontrolujte importovaný plán ve vizualizéru.

Tento pracovní postup nevyžaduje aktivní připojení k databázi. Příkaz přečte aktuální obsah editoru, takže ho můžete použít s kopírovaným výstupem plánu, uloženými .json soubory nebo .txt textem plánu vloženým do pomocného editoru.

Přepínání mezi zobrazeními

Pomocí selektoru zobrazení na panelu nástrojů se můžete pohybovat mezi stromovým zobrazením, zobrazením icicle, zobrazením tabulky a zdrojovým zobrazením.

Stromové zobrazení

Ve výchozím nastavení se otevře stromové zobrazení. Použijte ho, pokud chcete diagram uzlu po uzlu plánu provádění.

  • Ovládací prvky lupy slouží k přiblížení, oddálení, resetování zobrazení nebo přizpůsobení plánu do okna.
  • Pomocí panelu možností můžete změnit směr rozložení a metriku barev, která zvýrazní nákladné nebo neobvyklé uzly.
  • Výběrem uzlu otevřete panel podrobností.
  • Pravým tlačítkem myši klikněte na uzel a přejděte do jiného zobrazení nebo ho analyzujte pomocí pomocníka AI.

Zobrazení tabulky

Zobrazení tabulky použijte, pokud chcete řadit, vyhledávat a porovnávat mnoho uzlů najednou.

  • Plán je převeden do tabulky, kterou lze řadit, nikoli do sbalitelné stromové struktury.
  • Vyhledávací pole se zobrazí jenom v zobrazení tabulky.
  • Hledání odpovídá typu uzlu, názvu relace, názvu indexu, aliasu, textu filtru a názvu podplánu.
  • Pomocí předvolby se můžete zaměřit na Výkon, Odhady, Efektivitu nebo I/O, případně přizpůsobit viditelné sloupce metrik.

Pohled na icicle

Použijte Icicle View, když chcete zobrazit vizuální přehled přes celou šířku o tom, kde se soustřeďují náklady, čas nebo využití vyrovnávací paměti.

  • Icicle View je samostatné zobrazení, nikoli podokno v Tree View.
  • Panel možností slouží k přepínání předvoleb, změně metriky šířky, změně barevné metriky a přepínání mezi vlastním a celkovým rozsahem, kde je podporováno.
  • Najeďte myší na blok a prohlédněte si metriky nebo kliknutím pravým tlačítkem myši na blok otevřete podrobnosti nebo přejděte do jiného zobrazení.

Zobrazení zdroje

Zobrazení zdroje použijte, pokud chcete původní výstup plánu.

  • Výběrem možnosti můžete přepínat mezi stromem a textovým režimem .
  • Na panelu se zobrazí, jestli je importovaný nebo vygenerovaný zdroj JSON nebo TEXT.
  • Rozbalit vše a sbalit vše se zobrazí na panelu nástrojů pouze v době, kdy je zobrazení zdroje aktivní.
  • V textovém režimu se plán otevře v editoru jen pro čtení. V režimu stromové struktury můžete analyzovat strukturu jako sbalitelný strom.

Kliknutím na Kopírovat plán můžete kdykoli zkopírovat aktuální zdroj plánu do schránky. Plány JSON se kopírují ve formátované podobě a plány TEXT se zkopírují jako původní zdroj.

Prozkoumat uzly plánu

Výběrem uzlu ve stromovém zobrazení, zobrazení tabulky nebo zobrazení icicle otevřete panel podrobností.

  • Obecné ukazuje typ uzlu, klíčové metriky a podrobnosti analýzy specifické pro plán.
  • I/O se zobrazí, když plán obsahuje data vyrovnávacích pamětí.
  • Podmínky se zobrazí, když uzel zpřístupňuje filtry, podmínky spojení nebo podobné predikáty.

Pomocí tohoto panelu můžete porovnat odhadovanou a skutečnou práci, zkontrolovat uzly s vysokými nároky na vyrovnávací paměť a ověřit, které predikáty určují plán.

Analýza plánů pomocí pomocníka s AI

Pomocníka s AI použijte, když chcete, aby rozšíření otevřelo analytický chat s aktuálním plánem jako kontextem.

Analýza úplného plánu

  1. Otevřete plán ve vizualizéru.
  2. Vyberte analyzovat pomocí Copilot (nebo analyzovat pomocí AI v kurzoru).
  3. Zvolte, jestli chcete do analýzy zahrnout text dotazu SQL.
  4. Zkontrolujte novou chatovací relaci, která se otevře v režimu agenta.

Pokud plán pochází z PGSQL: Vizualizujte plán dotazů z Editoru a zatím neexistuje žádný užitečný text SQL, rozšíření vás může vyzvat k prvnímu zadání dotazu, aby umělé inteligence měla lepší kontext.

Analýza jednoho uzlu

  1. Klikněte pravým tlačítkem myši na uzel, který chcete zkontrolovat.
  2. Vyberte Analyzovat tento uzel pomocí Copilot (nebo analyzovat tento uzel pomocí AI v kurzoru).
  3. Projděte si novou chatovou relaci režimu agenta a zkontrolujte analýzu specifickou pro jednotlivé uzly.

Určení, jestli je zahrnutý text SQL

Nastavení pgsql.copilot.autoAttachQuery určuje, jak rozšíření zpracovává text SQL při spuštění analýzy AI:

  • Zeptejte se, jestli se má pokaždé zahrnout SQL.
  • Vždy zahrnout SQL bez výzvy
  • Nikdy nezahrnujte SQL

Pokud se rozhodnete zahrnout nebo vyloučit SQL z dotazu, může rozšíření také nabídnout, že si tuto volbu zapamatuje pro budoucí použití.

Použití nástroje plánu dotazů v režimu agenta

Vizualizér ukládá aktuální plán do mezipaměti a zveřejňuje ho asistentovi AI prostřednictvím pgsql_query_plan nástroje nebo ekvivalentu MCP na podporovaných hostitelích. Tento nástroj podporuje tyto akce:

Činnost Použijte jej pro
get_summary Než přejdete k podrobnostem, získejte souhrnný přehled pro celý plán.
get_node Zkontrolujte jeden uzel podle ID.
get_subtree Zkontrolujte uzel společně s jeho potomky.
list_nodes Vyhledejte uzly podle typu nebo minimálních nákladů.

Pokud chcete, aby AI začínala z aktivního dotazu místo vizualizéru, použijte funkci Analyzovat výkon dotazu z podnabídky Akce dotazů AI editoru. Vizualizér použijte, když chcete nejprve zkontrolovat plán sami a pak předat tento přesný plán umělé inteligenci.

Tipy pro analýzu výkonu

  • Příkaz ANALYZE použijte, pokud je bezpečné příkaz spustit. Samotné odhady mohou skrýt chybné předpoklady o počtu řádků.
  • Porovnáním odhadovaných a skutečných počtů řádků můžete zjistit zastaralé statistiky nebo filtrovat problémy se selektivitou.
  • Přepněte do zobrazení tabulky , pokud je plán velký a potřebujete hledat nebo porovnávat metriky vedle sebe.
  • Pokud potřebujete nezpracovaný plán pro problém, kontrolu kódu nebo diskuzi se členy týmu, přepněte do zobrazení zdroje .