Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj wizualizatora planu zapytania w rozszerzeniu PostgreSQL, aby sprawdzić dane wyjściowe postgreSQL EXPLAIN bez opuszczania edytora. Plan można wygenerować z poziomu edytora zapytań lub panelu Wyników zapytań PostgreSQL albo otworzyć istniejące dane wyjściowe planu JSON lub TEXT z edytora. Wizualizator działa tak samo jak w Visual Studio Code i kursorze.
Wymagania wstępne
- Zainstalowane rozszerzenie PostgreSQL.
- Aktywne połączenie z serwerem PostgreSQL, jeśli chcesz wygenerować plan na żywo z poziomu edytora zapytań lub panelu Wyników zapytań PostgreSQL.
- Opcjonalny asystent AI, jeśli chcesz korzystać z analizy wspomaganej przez AI: zainstaluj GitHub Copilot w Visual Studio Code lub użyj wbudowanej sztucznej inteligencji w Cursor.
- Opcjonalne
EXPLAINdane wyjściowe są już otwarte w edytorze, jeśli chcesz zaimportować zapisany plan bez nawiązywania połączenia z bazą danych.
Wybierz sposób otwarcia planu
Użyj punktu wejścia zgodnego z przepływem pracy:
- Edytor zapytań: wybierz pozycję Visualize Query Plan (PostgreSQL) (Wizualizowanie planu zapytania (PostgreSQL) na pasku narzędzi edytora. Jeśli nie wybierzesz najpierw tekstu, rozszerzenie używa bieżącej zawartości edytora.
- Panel Wyniki zapytania PostgreSQL: uruchom zapytanie, a następnie wybierz pozycję Visualize Query Plan (Wizualizowanie planu zapytania ) na pasku narzędzi panelu wyników zapytania PostgreSQL, aby sprawdzić zapytanie, które wygenerowało ten zestaw wyników.
- Zaimportowany plan: Otwórz dowolną kartę edytora zawierającą dane wyjściowe planu PostgreSQL, a następnie uruchom polecenie PGSQL: Visualize Query Plan from Editor z Palety poleceń.
Generowanie planu na podstawie zapytania na żywo
- Otwórz plik SQL, który chcesz sprawdzić w edytorze zapytań.
- Połącz się z docelową bazą danych.
- Wybierz stwierdzenie, które chcesz przeanalizować. W przypadku pozostawienia pustego zaznaczenia rozszerzenie używa bieżącej zawartości edytora.
- Wybierz pozycję Visualize Query Plan (PostgreSQL) (Wizualizowanie planu zapytania (PostgreSQL) na pasku narzędzi edytora. Możesz również najpierw uruchomić zapytanie, a następnie wybrać pozycję Visualize Query Plan (Wizualizowanie planu zapytania ) w panelu Wyników zapytań PostgreSQL .
- W obszarze Konfigurowanie planu zapytania wybierz odpowiedni format i opcje, a następnie naciśnij klawisz Enter.
- Przejrzyj plan w wizualizatorze.
Konfigurowanie opcji planu zapytania
Selektor Konfiguruj plan zapytania umożliwia wybranie formatu danych wyjściowych i EXPLAIN opcji do uruchomienia.
| Option | Co zmienia |
|---|---|
| JSON | Zwraca ustrukturyzowane dane wyjściowe planu, które najlepiej sprawdzają się w różnych widokach wizualnych. |
| TEKST | Zwraca dane wyjściowe w postaci zwykłego tekstu EXPLAIN bazy danych PostgreSQL i zachowuje to źródło w widoku źródłowym. |
| ANALIZOWANIE | Wykonuje zapytanie i zawiera rzeczywiste statystyki czasu wykonywania. |
| BUFORÓW | Dodaje statystyki użycia buforu. Wybranie tej opcji powoduje automatyczne włączenie funkcji ANALYZE. |
| CZAS | Dodaje rzeczywiste dane czasowe. Wybranie tej opcji powoduje automatyczne włączenie funkcji ANALYZE. |
| WAL | Dodaje statystyki użycia pliku WAL. Wybranie tej opcji powoduje automatyczne włączenie funkcji ANALYZE. |
| SZCZEGÓŁOWE | Dodaje dodatkowe szczegóły wyjściowe, takie jak informacje o schemacie i kolumnie. |
| KOSZTY | Obejmuje szacowane wartości uruchamiania i łącznego kosztu. |
| USTAWIENIA | Zawiera ustawienia planisty, które różnią się od ustawień domyślnych. |
Caution
EXPLAIN ANALYZE uruchamia zapytanie. Jeśli instrukcja modyfikuje dane, takie jak INSERT, UPDATE, DELETElub TRUNCATE, rozszerzenie wyświetla monit o potwierdzenie przed kontynuowaniem.
Otwieranie zapisanego planu z edytora
- Otwórz kartę edytora zawierającą dane wyjściowe postgreSQL
EXPLAINw formacie JSON lub TEXT. - Otwórz paletę poleceń (Ctrl+Shift+P).
- Uruchom narzędzie PGSQL: wizualizowanie planu zapytań z poziomu edytora.
- Przejrzyj zaimportowany plan w wizualizatorze.
Ten przepływ pracy nie wymaga aktywnego połączenia z bazą danych. Polecenie odczytuje bieżącą zawartość edytora, więc można go używać ze skopiowanym wynikiem planu, zapisanymi plikami .json lub .txt albo tekstem planu wklejonym do edytora tymczasowego.
Przełączanie między widokami
Użyj selektora widoków na pasku narzędzi, aby przejść między widokiem drzewa, widokiem Icicle, widokiem tabeli i widokiem źródłowym.
Widok drzewa
Widok drzewa jest domyślnie otwierany. Użyj tego, gdy chcesz uzyskać diagram planu wykonania w podziale na węzły.
- Użyj kontrolek powiększenia, aby powiększyć, pomniejszyć, zresetować widok lub dopasować plan do okna.
- Użyj panelu opcji, aby zmienić kierunek układu i metryki kolorów, która wyróżnia kosztowne lub nietypowe węzły.
- Wybierz węzeł, aby otworzyć panel szczegółów.
- Kliknij prawym przyciskiem myszy węzeł, aby przejść do innego widoku lub przeanalizować ten węzeł za pomocą asystenta sztucznej inteligencji.
Widok tabeli
Użyj widoku tabeli , jeśli chcesz sortować, wyszukiwać i porównywać wiele węzłów jednocześnie.
- Plan jest przedstawiany jako sortowalna tabela, a nie jako rozwijane drzewo.
- Pole wyszukiwania jest wyświetlane tylko w widoku tabeli.
- Wyszukiwanie obejmuje typ węzła, nazwę relacji, nazwę indeksu, alias, tekst filtru i nazwę podplanu.
- Użyj selektora ustawień predefiniowanych, aby skupić się na wydajności, szacunkach, efektywności lub I/O, albo dostosować widoczne kolumny wskaźników.
Widok Icicle
Użyj widoku Icicle View, jeśli chcesz uzyskać wizualne podsumowanie na całą szerokość, pokazujące, gdzie koncentrują się koszty, czas lub wykorzystanie bufora.
- Widok Icicle to oddzielny widok, a nie okienko w widoku drzewa.
- Użyj panelu opcji, aby przełączać presety, zmieniać metrykę szerokości, zmieniać metrykę koloru oraz przełączać się między widokiem własnym a całkowitym tam, gdzie jest to obsługiwane.
- Umieść kursor na bloku, aby sprawdzić jego metryki, lub kliknij prawym przyciskiem myszy blok, aby otworzyć szczegóły lub przejść do innego widoku.
Widok źródła
Użyj widoku źródłowego , jeśli chcesz uzyskać oryginalne dane wyjściowe planu.
- Wybierz Opcje, aby przełączać się między trybem drzewo a trybem tekst.
- Panel pokazuje, czy zaimportowane lub wygenerowane źródło to JSON , czy TEXT.
- Rozwiń wszystko i Zwiń wszystko pojawiają się na pasku narzędzi tylko wtedy, gdy aktywny jest Widok źródłowy.
- W trybie tekstowym plan zostanie otwarty w edytorze tylko do odczytu. W trybie Tree można wyświetlić strukturę analizy składniowej w postaci zwijanego drzewa.
Wybierz pozycję Kopiuj plan w dowolnym momencie, aby skopiować bieżące źródło planu do schowka. Plany JSON są kopiowane w sformatowanej formie, a plany TEKSTOWE są kopiowane jako ich oryginalne źródło.
Sprawdź węzły planu
Wybierz węzeł w widoku drzewa, widoku tabeli lub widoku Icicle , aby otworzyć panel szczegółów.
- Ogólne pokazuje typ węzła, kluczowe metryki i szczegóły analizy specyficzne dla planu.
- I/O pojawia się, gdy plan zawiera dane w buforze.
- Warunki są wyświetlane, gdy węzeł uwidacznia filtry, warunki sprzężenia lub podobne predykaty.
Użyj tego panelu, aby porównać szacowaną i rzeczywistą pracę, sprawdzić węzły z dużym obciążeniem buforem i potwierdzić, które predykaty napędzają plan.
Analizowanie planów za pomocą asystenta sztucznej inteligencji
Użyj asystenta sztucznej inteligencji, jeśli chcesz, aby rozszerzenie otwierało czat analizy z bieżącym planem jako kontekstem.
Analizowanie pełnego planu
- Otwórz plan w wizualizatorze.
- Wybierz pozycję Analizuj przy użyciu Copilot (lub Analizuj za pomocą sztucznej inteligencji w kursorze).
- Wybierz, czy chcesz uwzględnić tekst zapytania SQL z analizą.
- Przejrzyj nową sesję czatu, która zostanie otwarta w trybie agenta.
Jeśli plan pochodzi z PGSQL: Visualize Query Plan from Editor i nie ma jeszcze przydatnego tekstu SQL, rozszerzenie może najpierw wyświetlić monit z prośbą o wprowadzenie zapytania, aby SI miała lepszy kontekst.
Analizowanie jednego węzła
- Kliknij prawym przyciskiem myszy węzeł, który chcesz sprawdzić.
- Wybierz pozycję Analizuj ten węzeł przy użyciu Copilot (lub Analizuj ten węzeł za pomocą sztucznej inteligencji w kursorze).
- Przejrzyj nową sesję czatu w trybie Agent na potrzeby analizy specyficznej dla węzła.
Kontrolowanie, czy tekst SQL jest uwzględniony
Ustawienie pgsql.copilot.autoAttachQuery określa sposób obsługi tekstu SQL przez rozszerzenie podczas uruchamiania analizy sztucznej inteligencji:
- Zapytaj, czy za każdym razem należy uwzględnić język SQL
- Zawsze dołączaj sql bez monitowania
- Nigdy nie dołączaj bazy danych SQL
Jeśli zdecydujesz się dołączyć lub wykluczyć program SQL z monitu, rozszerzenie może również zaoferować zapamiętanie tego wyboru dla przyszłych sesji.
Korzystanie z narzędzia planu zapytania w trybie agenta
Wizualizator buforuje bieżący plan i uwidacznia go asystentowi sztucznej inteligencji za pomocą pgsql_query_plan narzędzia lub odpowiednika MCP na obsługiwanych hostach. To narzędzie obsługuje następujące akcje:
| Akcja | Użyj go do |
|---|---|
get_summary |
Przed przejściem do szczegółów zapoznaj się z podsumowaniem obejmującym cały plan. |
get_node |
Sprawdź pojedynczy węzeł na podstawie identyfikatora. |
get_subtree |
Sprawdź węzeł wraz z jego elementami podrzędnymi. |
list_nodes |
Znajdź węzły według typu lub minimalnego kosztu. |
Jeśli chcesz, aby sztuczna inteligencja zaczęła się od aktywnego zapytania zamiast wizualizatora, użyj podmenu Analyze Query Performance (Analizowanie wydajności zapytań ) w podmenu AI Query Actions edytora. Użyj wizualizatora, jeśli chcesz najpierw sprawdzić plan, a następnie przekazać ten dokładny plan do sztucznej inteligencji.
Porady dotyczące analizy wydajności
- Użyj ANALYZE, gdy wykonanie instrukcji jest bezpieczne. Same oszacowania mogą ukrywać błędne założenia dotyczące liczby wierszy.
- Porównaj szacowaną i rzeczywistą liczbę wierszy, aby wykryć nieaktualne statystyki lub problemy z selektywnością filtru.
- Przełącz się do widoku tabeli, gdy plan jest rozbudowany i potrzebujesz wyszukiwania lub porównywania metryk obok siebie.
- Przełącz się do widoku źródłowego , gdy potrzebujesz nieprzetworzonego planu problemu, przeglądu kodu lub dyskusji z kolegami z zespołu.