Queryplan visualiseren

Gebruik de queryplan-visualisatie van de PostgreSQL-extensie om PostgreSQL-uitvoer EXPLAIN te inspecteren zonder uw editor te verlaten. U kunt een plan genereren vanuit de queryeditor of het deelvenster Resultaten van PostgreSQL-query' of bestaande JSON- of TEKST-planuitvoer openen vanuit de editor. De visualizer wordt op dezelfde manier uitgevoerd in Visual Studio Code en Cursor.

Prerequisites

  • De PostgreSQL-extensie is geïnstalleerd.
  • Een actieve verbinding met een PostgreSQL-server als u een liveplan wilt genereren vanuit de queryeditor of het deelvenster Resultaten van PostgreSQL-query.
  • Optionele AI-assistent als u ai-hulp wilt analyseren: installeer GitHub Copilot in Visual Studio Code of gebruik de ingebouwde AI in Cursor.
  • Optionele EXPLAIN uitvoer is al geopend in de editor als u een opgeslagen plan wilt importeren zonder verbinding te maken met een database.

Kiezen hoe u een plan opent

Gebruik het toegangspunt dat overeenkomt met uw werkstroom:

  • Query-editor: Selecteer Queryplan visualiseren (PostgreSQL) op de werkbalk van de editor. Als u niet eerst tekst selecteert, gebruikt de extensie de huidige inhoud van de editor.
  • Het deelvenster PostgreSQL-queryresultaten: Voer een query uit en selecteer vervolgens Queryplan visualiseren op de werkbalk van het deelvenster PostgreSQL-queryresultaten om de query te inspecteren die die resultaatset heeft geproduceerd.
  • Geïmporteerd plan: Open een editortabblad met PostgreSQL-planuitvoer en voer vervolgens PGSQL uit: Queryplan visualiseren vanuit editor vanuit het opdrachtpalet.

Een plan genereren op basis van een livequery

  1. Open het SQL-bestand dat u wilt controleren in de queryeditor.
  2. Maak verbinding met de doeldatabase.
  3. Selecteer de verklaring die u wilt analyseren. Als u de selectie leeg laat, gebruikt de extensie de huidige inhoud van de editor.
  4. Selecteer Queryplan visualiseren (PostgreSQL) op de werkbalk van de editor. U kunt de query ook eerst uitvoeren en vervolgens Visualize Query Plan selecteren in het deelvenster Queryresultaten van PostgreSQL .
  5. Kies in Queryplan configureren de gewenste indeling en opties en druk op Enter.
  6. Bekijk het plan in de visualisatie.

Opties voor queryplan configureren

Met de kiezer Queryplan configureren kunt u de uitvoerindeling en de EXPLAIN opties kiezen die u wilt uitvoeren.

Option Wat wordt er gewijzigd
JSON Geeft gestructureerde planuitvoer die het best werkt in de visuele weergaven.
TEKST Geeft de platte-tekstuitvoer van PostgreSQL EXPLAIN weer en behoudt die in Bronweergave.
ANALYSEREN Hiermee wordt de query uitgevoerd en worden de werkelijke uitvoeringstijdstatistieken opgenomen.
BUFFERS Voegt buffergebruiksstatistieken toe. Als u deze optie selecteert, wordt ANALYSEREN automatisch ingeschakeld.
TIMING Hiermee worden werkelijke tijdsgegevens toegevoegd. Als u deze optie selecteert, wordt ANALYSEREN automatisch ingeschakeld.
WAL Voegt WAL-gebruiksstatistieken toe. Als u deze optie selecteert, wordt ANALYSEREN automatisch ingeschakeld.
VERBOSE Voegt extra uitvoergegevens toe, zoals schema- en kolomgegevens.
KOSTEN Bevat geschatte opstart- en totale kostenwaarden.
INSTELLINGEN Bevat plannerinstellingen die verschillen van de standaardinstellingen.

Caution

EXPLAIN ANALYZE voert de query uit. Als de instructie gegevens wijzigt, zoals INSERT, UPDATE, DELETE of TRUNCATE, toont de extensie een bevestigingsvenster voordat deze doorgaat.

Een opgeslagen plan openen vanuit de editor

  1. Open een editortabblad met PostgreSQL-uitvoer EXPLAIN in JSON- of TEKSTformulier.
  2. Open het opdrachtenpalet (Ctrl+Shift+P).
  3. VOER PGSQL uit: Visualiseer het queryplan vanuit de editor.
  4. Controleer het geïmporteerde plan in de visualizer.

Voor deze werkstroom is geen actieve databaseverbinding vereist. De opdracht leest de inhoud van de huidige editor, zodat u deze kunt gebruiken met gekopieerde planuitvoer, opgeslagen .json of .txt bestanden of plantekst die in een scratch-editor is geplakt.

Schakelen tussen weergaven

Gebruik de weergavekiezer in de werkbalk om te schakelen tussen structuurweergave, Icicleweergave, tabelweergave en bronweergave.

Structuurweergave

Structuurweergave wordt standaard geopend. Gebruik dit wanneer u een knooppunt-per-knooppuntdiagram van het uitvoeringsplan wilt.

  • Gebruik de zoombesturingselementen om in te zoomen, uit te zoomen, de weergave opnieuw in te stellen of het plan in het venster aan te passen.
  • Gebruik het deelvenster Opties om de indelingsrichting en de kleurmetrie te wijzigen waarmee dure of ongebruikelijke knooppunten worden gemarkeerd.
  • Selecteer een knooppunt om het detailvenster te openen.
  • Klik met de rechtermuisknop op een knooppunt om naar een andere weergave te gaan of dat knooppunt te analyseren met de AI-assistent.

Tabelweergave

Gebruik de tabelweergave als u veel knooppunten tegelijk wilt sorteren, doorzoeken en vergelijken.

  • Het plan wordt afgevlakt in een sorteerbare tabel in plaats van een samenvouwbare boom.
  • Het zoekvak wordt alleen weergegeven in de tabelweergave.
  • Zoeken doorzoekt knooppunttype, relatienaam, indexnaam, alias, filtertekst en subplannaam.
  • Gebruik de vooraf ingestelde kiezer om te focussen op prestaties, schattingen, efficiëntie of I/O, of om de zichtbare metrische kolommen aan te passen.

Icicle-weergave

Gebruik Icicle View als u een visueel overzicht van de volledige breedte wilt waarin het gebruik van kosten, tijd of buffer is geconcentreerd.

  • Icicle View is een aparte weergave, geen deelvenster binnen Tree View.
  • Gebruik het deelvenster Opties om vooraf ingestelde instellingen te schakelen, de metrische breedte te wijzigen, de metrische kleur te wijzigen en te schakelen tussen het zelf- en het totale bereik, waar ondersteund.
  • Beweeg de muisaanwijzer over een blok om de metrische gegevens te controleren of klik met de rechtermuisknop op een blok om details te openen of naar een andere weergave te gaan.

Bronweergave

Gebruik de bronweergave als u de oorspronkelijke planuitvoer wilt.

  • Selecteer Opties om te schakelen tussen de structuurmodus en de tekstmodus .
  • In het deelvenster ziet u of de geïmporteerde of gegenereerde bron JSON of TEKST is.
  • Alles uitvouwen en Alles samenvouwen worden alleen weergegeven op de werkbalk terwijl de bronweergave actief is.
  • In de tekstmodus wordt het plan geopend in een alleen-lezen editor. In de structuurmodus kunt u de geparseerde structuur inspecteren als een samenvouwbare structuur.

Selecteer Plan kopiëren op elk gewenst moment om de huidige planbron naar het klembord te kopiëren. JSON-plannen worden gekopieerd in opgemaakte vorm en TEKST-plannen worden gekopieerd als de oorspronkelijke bron.

Planknooppunten bekijken

Selecteer een knooppunt in structuurweergave, tabelweergave of Icicle-weergave om het detailvenster te openen.

  • In het algemeen worden het knooppunttype, de belangrijkste metrische gegevens en de details van de planningsspecifieke analyse weergegeven.
  • I/O wordt weergegeven wanneer het plan buffergegevens bevat.
  • Voorwaarden worden weergegeven wanneer het knooppunt filters, joinvoorwaarden of vergelijkbare predicaten beschikbaar maakt.

Gebruik dit deelvenster om geschatte versus werkelijke hoeveelheid werk te vergelijken, bufferzware knooppunten te inspecteren en te controleren welke predicaten het plan aansturen.

Plannen analyseren met de AI-assistent

Gebruik de AI-assistent als u wilt dat de extensie een analysechat opent met het huidige plan als context.

Het volledige plan analyseren

  1. Open het plan in de visualizer.
  2. Selecteer Analyseren met Copilot (of Analyseren met AI in Cursor).
  3. Kies of u de SQL-querytekst wilt opnemen in de analyse.
  4. Bekijk de nieuwe chatsessie die wordt geopend in de agentmodus.

Als het plan afkomstig is van PGSQL: Queryplan visualiseren vanuit editor en er nog geen nuttige SQL-tekst is, kan de extensie u vragen om de query eerst in te voeren, zodat de AI een betere context heeft.

Eén knooppunt analyseren

  1. Klik met de rechtermuisknop op het knooppunt dat u wilt inspecteren.
  2. Selecteer Dit knooppunt analyseren met Copilot (of analyseer dit knooppunt met AI in Cursor).
  3. Bekijk de nieuwe chatsessie in de agentmodus voor knooppuntspecifieke analyse.

Bepalen of SQL-tekst is opgenomen

De pgsql.copilot.autoAttachQuery instelling bepaalt hoe de extensie SQL-tekst verwerkt wanneer ai-analyse wordt gestart:

  • Vraag of sql elke keer moet worden opgenomen
  • SQL altijd opnemen zonder te vragen
  • SQL nooit opnemen

Wanneer u ervoor kiest om SQL op te nemen of uit te sluiten van de prompt, kan de extensie ook bieden om die keuze voor toekomstige sessies te onthouden.

Het hulpprogramma queryplan gebruiken in de agentmodus

Met de visualizer wordt het huidige plan in de cache opgeslagen en beschikbaar gesteld aan de AI-assistent via het pgsql_query_plan hulpprogramma, of het MCP-equivalent op ondersteunde hosts. Dit hulpprogramma ondersteunt deze acties:

Handeling Gebruik het voor
get_summary Bekijk een overzicht voor het hele plan voordat u inzoomt op details.
get_node Inspecteer één knooppunt op id.
get_subtree Inspecteer een knooppunt samen met de bijbehorende nakomelingen.
list_nodes Zoek knooppunten op type of minimale kosten.

Als u wilt dat de AI begint met de actieve query in plaats van de visualisatie, gebruikt u Queryprestaties analyseren in het submenu AI-queryacties van de editor. Gebruik de visualizer als u eerst het plan zelf wilt inspecteren en vervolgens dat exacte plan aan de AI wilt geven.

Tips voor prestatieanalyse

  • Gebruik ANALYZE als het veilig is om de statement uit te voeren. Schattingen op zichzelf kunnen onjuiste aannames over het aantal rijen verbergen.
  • Vergelijk geschatte en werkelijke aantal rijen om verouderde statistieken of filterselectiviteitsproblemen te herkennen.
  • Schakel over naar Tabelweergave wanneer het plan groot is en u wilt zoeken of statistieken naast elkaar wilt vergelijken.
  • Schakel over naar de bronweergave wanneer u het onbewerkte plan nodig hebt voor een probleem, codebeoordeling of discussie met teamleden.