Abfrageplan-Visualizer

Verwenden Sie die Abfrageplanschnellansicht in der PostgreSQL-Erweiterung, um die PostgreSQL-Ausgabe EXPLAIN zu prüfen, ohne den Editor verlassen zu müssen. Sie können einen Plan aus dem Abfrage-Editor oder dem Bereich "Ergebnisse der PostgreSQL-Abfrage" generieren oder vorhandene JSON- oder TEXT-Planausgabe aus dem Editor öffnen. Die Visualisierung wird in Visual Studio Code und Cursor auf die gleiche Weise ausgeführt.

Voraussetzungen

  • PostgreSQL-Erweiterung installiert.
  • Eine aktive Verbindung mit einem PostgreSQL-Server, wenn Sie einen Liveplan aus dem Abfrage-Editor oder dem Bereich "Ergebnisse der PostgreSQL-Abfrage" generieren möchten.
  • Optionaler KI-Assistent, wenn Sie kigestützte Analyse benötigen: Installieren Sie GitHub Copilot in Visual Studio Code, oder verwenden Sie die integrierte KI im Cursor.
  • Optionale EXPLAIN Ausgabe, die bereits im Editor geöffnet ist, wenn Sie einen gespeicherten Plan importieren möchten, ohne eine Verbindung mit einer Datenbank herzustellen.

Auswählen, wie ein Plan geöffnet werden soll

Verwenden Sie den Einstiegspunkt, der Ihrem Workflow entspricht:

  • Abfrage-Editor: Wählen Sie in der Editorsymbolleiste den Visualize Query Plan (PostgreSQL) aus. Wenn Sie nicht zuerst Text auswählen, verwendet die Erweiterung den aktuellen Inhalt des Editors.
  • Bereich "Ergebnisse der PostgreSQL-Abfrage": Führen Sie eine Abfrage aus, und wählen Sie dann in der Symbolleiste "Ergebnisse der PostgreSQL-Abfrage" die Option "Abfrageplan visualisieren " aus, um die Abfrage zu untersuchen, die dieses Resultset erzeugt hat.
  • Importierter Plan: Öffnen Sie eine Editorregisterkarte, die PostgreSQL-Planausgabe enthält, und führen Sie dann PGSQL: Abfrageplan im Editor visualisieren über die Befehlspalette aus.

Generieren eines Plans aus einer Liveabfrage

  1. Öffnen Sie die SQL-Datei, die Sie im Abfrage-Editor überprüfen möchten.
  2. Stellen Sie eine Verbindung mit der Zieldatenbank her.
  3. Wählen Sie die Aussage aus, die Sie analysieren möchten. Wenn Sie die Auswahl leer lassen, verwendet die Erweiterung den aktuellen Editorinhalt.
  4. Wählen Sie in der Editorsymbolleiste den Visualize Query Plan (PostgreSQL) aus. Sie können die Abfrage auch zuerst ausführen und dann im Bereich "Ergebnisse der PostgreSQL-Abfrage"die Option "Abfrageplan visualisieren" auswählen.
  5. Wählen Sie unter "Abfrageplan konfigurieren" das gewünschte Format und die gewünschten Optionen aus, und drücken Sie dann die EINGABETASTE.
  6. Überprüfen Sie den Plan in der Visualisierung.

Konfigurieren von Abfrageplanoptionen

Mit der Auswahl "Abfrageplan konfigurieren" können Sie das Ausgabeformat und die EXPLAIN auszuführenden Optionen auswählen.

Auswahl Was sich ändert
JSON Gibt eine strukturierte Ausgabe des Plans zurück, die in den verschiedenen Ansichten optimal funktioniert.
TEXT Gibt die Nur-Text-Ausgabe EXPLAIN von PostgreSQL zurück und behält diese Quelle in der Quellansicht bei.
ANALYSIEREN Führt die Abfrage aus und enthält tatsächliche Laufzeitstatistiken.
PUFFER Fügt Puffernutzungsstatistiken hinzu. Wenn Sie es auswählen, wird "ANALYSIEREN" automatisch aktiviert.
ANZEIGEDAUER Fügt tatsächliche Zeitdaten hinzu. Wenn Sie es auswählen, wird "ANALYSIEREN" automatisch aktiviert.
WAL Fügt WAL-Nutzungsstatistiken hinzu. Wenn Sie es auswählen, wird "ANALYSIEREN" automatisch aktiviert.
AUSFÜHRLICH Fügt zusätzliche Ausgabedetails wie Schema- und Spalteninformationen hinzu.
KOSTEN Umfasst geschätzte Start- und Gesamtkostenwerte.
EINSTELLUNGEN Enthält Planner-Einstellungen, die sich von den Standardeinstellungen unterscheiden.

Caution

EXPLAIN ANALYZE führt die Abfrage aus. Wenn die Anweisung Daten ändert, beispielsweise INSERT, UPDATE, DELETE oder TRUNCATE, zeigt die Erweiterung eine Bestätigungsabfrage an, bevor sie fortfährt.

Öffnen eines gespeicherten Plans aus dem Editor

  1. Öffnen Sie eine Editor-Registerkarte, die die PostgreSQL-Ausgabe EXPLAIN in JSON- oder TEXT-Formular enthält.
  2. Öffnen Sie die Befehlspalette (STRG+UMSCHALT+P).
  3. Führen Sie PGSQL aus: Visualisieren des Abfrageplans aus dem Editor.
  4. Überprüfen Sie den importierten Plan in der Visualisierung.

Für diesen Workflow ist keine aktive Datenbankverbindung erforderlich. Der Befehl liest den aktuellen Inhalt des Editors, sodass Sie ihn mit kopierter Ausgabe eines Plans, mit gespeicherten .json- oder .txt-Dateien oder mit Plantext verwenden können, der in einen temporären Editor eingefügt wurde.

Wechseln zwischen Ansichten

Verwenden Sie die Ansichtsauswahl in der Symbolleiste, um zwischen Der Strukturansicht, der Icicle-Ansicht, der Tabellenansicht und der Quellansicht zu wechseln.

Strukturansicht

Strukturansicht wird standardmäßig geöffnet. Verwenden Sie dies, wenn Sie ein Knoten-nach-Knoten-Diagramm des Ausführungsplans verwenden möchten.

  • Verwenden Sie die Zoomsteuerelemente, um die Ansicht zu vergrößern, zu verkleinmen, die Ansicht zurückzusetzen oder dem Fenster den Plan anzupassen.
  • Verwenden Sie den Optionsbereich, um die Layout-Richtung und die Farbmetrik zu ändern, die teure oder ungewöhnliche Knoten hervorhebt.
  • Wählen Sie einen Knoten aus, um den Detailbereich zu öffnen.
  • Klicken Sie mit der rechten Maustaste auf einen Knoten, um mit dem KI-Assistenten zu einer anderen Ansicht zu springen oder diesen Knoten zu analysieren.

Tabellenansicht

Verwenden Sie die Tabellenansicht , wenn Sie viele Knoten gleichzeitig sortieren, suchen und vergleichen möchten.

  • Der Plan wird als sortierbare Tabelle statt als einklappbare Baumstruktur dargestellt.
  • Das Suchfeld wird nur in der Tabellenansicht angezeigt.
  • Die Suche findet Übereinstimmungen bei Knotentyp, Beziehungsname, Indexname, Alias, Filtertext und Unterplanname.
  • Verwenden Sie die voreingestellte Auswahl, um sich auf Leistung, Schätzungen, Effizienz oder E/A zu konzentrieren oder die sichtbaren Metrikspalten anzupassen.

Icicle-Ansicht

Verwenden Sie die Icicle-Ansicht , wenn Sie eine visuelle Zusammenfassung mit voller Breite wünschen, in der Kosten, Zeit oder Puffernutzung konzentriert sind.

  • Die Icicle-Ansicht ist eine separate Ansicht, nicht ein Bereich innerhalb der Strukturansicht.
  • Verwenden Sie den Optionsbereich, um voreingestellte Einstellungen zu wechseln, die Breitemetrik zu ändern, die Farbmetrik zu ändern und zwischen Selbst- und Gesamtbereich zu wechseln, sofern unterstützt.
  • Zeigen Sie mit der Maus auf einen Block, um seine Metriken zu überprüfen, oder klicken Sie mit der rechten Maustaste auf einen Block, um Details zu öffnen oder zu einer anderen Ansicht zu wechseln.

Quellansicht

Verwenden Sie die Quellansicht , wenn Sie die ursprüngliche Planausgabe verwenden möchten.

  • Wählen Sie "Optionen" aus, um zwischen Struktur und Textmodus zu wechseln.
  • Das Panel zeigt an, ob die importierte oder generierte Quelle JSON oder TEXT ist.
  • "Alle erweitern " und " Alle reduzieren " werden nur in der Symbolleiste angezeigt, während die Quellansicht aktiv ist.
  • Im Textmodus wird der Plan in einem schreibgeschützten Editor geöffnet. Im Tree-Modus können Sie die geparste Struktur als einklappbaren Baum inspizieren.

Wählen Sie jederzeit " Plan kopieren" aus, um die aktuelle Planquelle in die Zwischenablage zu kopieren. JSON-Pläne werden in formatierter Form kopiert, und TEXT-Pläne werden als ursprüngliche Quelle kopiert.

Planknoten untersuchen

Wählen Sie in der Strukturansicht, in der Tabellenansicht oder in der Icicle-Ansicht einen Knoten aus, um den Detailbereich zu öffnen.

  • Allgemein werden der Knotentyp, die wichtigsten Metriken und die planspezifischen Analysedetails angezeigt.
  • E/A wird angezeigt, wenn der Plan Pufferdaten enthält.
  • Bedingungen werden angezeigt, wenn der Knoten Filter, Verknüpfungsbedingungen oder ähnliche Prädikate verfügbar macht.

Verwenden Sie dieses Panel, um geschätzte und tatsächliche Arbeit zu vergleichen, pufferlastige Knoten zu prüfen und zu bestätigen, welche Prädikate den Plan steuern.

Analysieren von Plänen mit dem KI-Assistenten

Verwenden Sie den KI-Assistenten, wenn die Erweiterung einen Analysechat mit dem aktuellen Plan als Kontext öffnen soll.

Analysieren des vollständigen Plans

  1. Öffnen Sie den Plan in der Visualisierung.
  2. Wählen Sie "Mit Copilot analysieren" (oder "Mit KI im Cursor analysieren") aus.
  3. Wählen Sie aus, ob Der SQL-Abfragetext in die Analyse eingeschlossen werden soll.
  4. Überprüfen Sie die neue Chatsitzung, die im Agentmodus geöffnet wird.

Wenn der Plan von PGSQL: Visual Query Plan vom Editor stammt und es noch keinen nützlichen SQL-Text gibt, kann die Erweiterung Sie auffordern, die Abfrage zuerst einzugeben, damit die KI einen besseren Kontext hat.

Analysieren eines Knotens

  1. Klicken Sie mit der rechten Maustaste auf den Knoten, den Sie überprüfen möchten.
  2. Wählen Sie "Diesen Knoten mit Copilot analysieren" aus (oder "Diesen Knoten mit KI im Cursor analysieren").
  3. Überprüfen Sie die neue Agentmodus-Chatsitzung für die knotenspezifische Analyse.

Steuern, ob SQL-Text enthalten ist

Die pgsql.copilot.autoAttachQuery Einstellung steuert, wie die Erweiterung SQL-Text verarbeitet, wenn sie KI-Analysen startet:

  • Fragen Sie, ob SQL jedes Mal eingeschlossen werden soll.
  • Sql immer ohne Aufforderung einschließen
  • Sql niemals einschließen

Wenn Sie auswählen, SQL in den Prompt einzuschließen oder daraus auszuschließen, kann die Erweiterung auch anbieten, sich diese Auswahl für zukünftige Sitzungen zu merken.

Verwenden des Abfrageplantools im Agentmodus

Der Visualizer zwischenspeichert den aktuellen Plan und stellt ihn dem KI-Assistenten über das Tool pgsql_query_plan oder das MCP-Äquivalent auf unterstützten Hostsystemen zur Verfügung. Dieses Tool unterstützt diese Aktionen:

Action Verwenden Sie es für
get_summary Erhalten Sie eine Zusammenfassung des gesamten Plans, bevor Sie ins Detail gehen.
get_node Untersuchen Sie einen Knoten anhand der ID.
get_subtree Überprüfen Sie einen Knoten zusammen mit seinen Nachfolgern.
list_nodes Suchen Sie Knoten nach Typ oder Minimalkosten.

Wenn die KI von der aktiven Abfrage anstelle der Visualisierung gestartet werden soll, verwenden Sie " Abfrageleistung analysieren " aus dem Untermenü "KI-Abfrageaktionen " des Editors. Verwenden Sie die Visualisierung, wenn Sie den Plan zuerst selbst prüfen möchten, und geben Sie dann den genauen Plan an die KI weiter.

Tipps zur Leistungsanalyse

  • Verwenden Sie ANALYZE , wenn die Anweisung sicher ausgeführt werden kann. Allein anhand von Schätzungen können fehlerhafte Annahmen über die Zeilenanzahl verdeckt werden.
  • Vergleichen Sie die geschätzte und die tatsächliche Zeilenanzahl, um veraltete Statistiken oder Probleme mit der Filterselektivität zu erkennen.
  • Wechseln Sie zur Tabellenansicht , wenn der Plan groß ist und Sie Such- oder parallele Metrikvergleiche benötigen.
  • Wechseln Sie zur Quellansicht , wenn Sie den unformatierten Plan für ein Problem, eine Codeüberprüfung oder eine Diskussion mit Teamkollegen benötigen.