Udostępnij przez


Porównanie planów wykonywania

Dotyczy:programu SQL Server

W tym artykule opisano sposób porównywania podobieństw i różnic między rzeczywistymi graficznymi planami wykonywania przy użyciu funkcji porównania planu programu SQL Server Management Studio. Ta funkcja jest dostępna od programu SQL Server Management Studio w wersji 16.

Notatka

Rzeczywiste plany wykonywania są generowane po wykonaniu zapytań lub partii zapytań Transact-SQL. W związku z tym rzeczywisty plan wykonywania zawiera informacje o czasie wykonywania, takie jak rzeczywista liczba wierszy, metryki użycia zasobów i ostrzeżenia środowiska uruchomieniowego (jeśli istnieją). Aby uzyskać więcej informacji, zobacz Wyświetlanie rzeczywistego planu wykonania.

Możliwość porównywania planów jest czymś, co specjaliści ds. baz danych mogą mieć do zrobienia ze względów rozwiązywania problemów:

  • Znajdź powód, dla którego zapytanie lub przetwarzanie wsadowe nagle zwolniły.
  • Omówienie wpływu ponownego zapisywania zapytania.
  • Sprawdź, jak konkretna zmiana zwiększająca wydajność wprowadzona w projekcie schematu (na przykład nowy indeks) skutecznie zmieniła plan wykonania.

Opcja menu Porównanie planu umożliwia równoległe porównanie dwóch różnych planów wykonywania, co ułatwia identyfikację podobieństw i zmian, które wyjaśniają różne zachowania ze wszystkich opisanych wcześniej powodów. Ta opcja może być porównywana między:

  • Dwa wcześniej zapisane pliki planu wykonywania z rozszerzeniem.sqlplan.
  • Jeden aktywny plan wykonania i jeden wcześniej zapisany plan wykonania zapytania.
  • Dwa wybrane plany zapytań w Magazynie Zapytań.

Napiwek

Porównanie planów współpracuje z dowolnymi plikami .sqlplan, nawet ze starszych wersji programu SQL Server. Ponadto ta opcja umożliwia porównanie offline, więc nie trzeba łączyć się z instancją serwera SQL Server.

Podczas porównywania dwóch planów wykonania, regiony planu, które zasadniczo spełniają te same funkcje , są zaznaczone tym samym kolorem i wzorem. Wybranie kolorowego regionu w jednym planie spowoduje wyśrodkowanie drugiego planu na pasującym węźle w tym planie. Nadal można porównać niedopasowane operatory i węzły planów wykonywania, ale w takim przypadku należy ręcznie wybrać operatory do porównania.

Ważny

Tylko węzły uznawane za zmieniające kształt planu są wykorzystywane do sprawdzania podobieństw. W związku z tym może istnieć węzeł, który nie jest kolorowy, w środku dwóch węzłów, które znajdują się w tej samej podsekcji planu. Brak koloru w tym przypadku oznacza, że węzły nie były brane pod uwagę podczas sprawdzania, czy sekcje są równe.

Porównanie planów wykonywania

  1. Otwórz wcześniej zapisany plik planu wykonywania zapytania (.sqlplan) przy użyciu menu Plik i wybierz polecenie Otwórz plik lub przeciągnij plik planu do okna programu Management Studio. Alternatywnie, jeśli właśnie wykonano zapytanie i wybrano wyświetlanie planu wykonania, przejdź do karty Plan wykonania w okienku wyników.

  2. Kliknij prawym przyciskiem myszy pusty obszar planu wykonania i wybierz pozycję Porównaj showplan.

    Zrzut ekranu przedstawiający kliknięcie prawym przyciskiem myszy programu Showplan.

  3. Wybierz drugi plik planu zapytania, z którym chcesz się porównać. Zostanie otwarty drugi plik, aby można było porównać plany.

  4. Porównywane plany otwierają nowe okno, domyślnie z jednym na górze i jednym na dole. Wybór domyślny to pierwsze wystąpienie operatora lub węzła, które jest wspólne w porównaniu planów, ale pokazuje różnice między planami. Wszystkie wyróżnione operatory i węzły istnieją w obu porównywanych planach. Wybranie wyróżnionego operatora w planach u góry lub lewej powoduje automatyczne wybranie odpowiedniego operatora w planach w dolnej lub prawej części. Wybranie operatora węzła głównego w dowolnym z porównanych planów ( SELECT węzeł na poniższej ilustracji) wybiera również odpowiedniego operatora węzła głównego w innym porównaniu planu.

    Zrzut ekranu przedstawiający porównanie planów dwóch zapisanych plików planu.

    Napiwek

    Możesz przełączyć wyświetlanie porównania planu wykonania obok siebie, klikając prawym przyciskiem myszy pusty obszar planu wykonania i wybierając pozycję Przełącz orientację podziału.

    Wszystkie opcje powiększania i nawigacji dostępne dla planów wykonywania działają w trybie porównywania planów. Aby uzyskać więcej informacji, zobacz Wyświetlanie rzeczywistego planu wykonania.

  5. Po prawej stronie zostanie również otwarte okno właściwości podwójnych w zakresie zaznaczenia domyślnego. Właściwości, które istnieją w obu operatorach porównywanych, ale mają różnice, są poprzedzone znakiem nie równości (≠) w celu łatwiejszej identyfikacji.

    Zrzut ekranu przedstawiający okno Właściwości podwójne.

  6. Okno nawigacji porównawczej Showplan Analysis również otwiera się u dołu. Dostępne są trzy karty:

    1. ** Na karcie Opcje oświadczeń domyślnym wyborem jest Wyróżnij podobne operacje, a ten sam podświetlony operator lub węzeł w porównywanych planach ma ten sam kolor i wzorzec linii. Nawiguj między podobnymi obszarami w porównaniu planów, wybierając wzór wapna. Możesz również wyróżnić różnice w planach zamiast podobieństw, wybierając pozycję Wyróżnianie operacji, które nie odpowiadają podobnym segmentom.

      Notatka

      Domyślnie nazwy baz danych są ignorowane podczas porównywania planów w celu umożliwienia porównania planów przechwyconych dla baz danych o różnych nazwach, ale współużytkują ten sam schemat. Na przykład podczas porównywania planów z baz danych ProdDB i TestDB. To zachowanie można zmienić za pomocą opcji Ignoruj nazwę bazy danych podczas porównywania operatorów.

      Zrzut ekranu przedstawiający okno Showplan Analysis (Analiza planu).

    2. Karta Multi Statement jest przydatna podczas porównywania planów z wieloma instrukcjami, ponieważ umożliwia porównanie właściwej pary instrukcji.

      Zrzut ekranu przedstawiający wiele instrukcji w porównaniu z planem.

    3. Na karcie Scenariusze można znaleźć automatyczną analizę niektórych najbardziej odpowiednich aspektów, które należy przyjrzeć się różnicom w szacowaniu kardynalności (SQL Server) w porównaniu planów. Dla każdego operatora wymienionego w okienku po lewej stronie w okienku po prawej stronie zostaną wyświetlone szczegółowe informacje na temat scenariusza w linku Wybierz tutaj, aby uzyskać więcej informacji na temat tego scenariusza oraz możliwe przyczyny wyjaśnienia tego scenariusza.

      Zrzut ekranu przedstawiający różne szacowane wiersze.

    Jeśli to okno zostanie zamknięte, kliknij prawym przyciskiem myszy pusty obszar porównywanego planu, a następnie wybierz polecenie Showplan Compare Options (Pokażplanuj opcje porównania ), aby otworzyć ponownie.

    Zrzut ekranu przedstawiający opcje porównania planu.

Porównanie planów wykonywania w magazynie zapytań

  1. W Query Store zidentyfikuj zapytanie, które ma więcej niż jeden plan wykonania. Aby uzyskać więcej informacji na temat scenariuszy magazynu zapytań, zobacz Scenariusze użycia magazynu zapytań.

  2. Użyj kombinacji Shift i myszy, aby wybrać dwa plany dla tego samego zapytania.

    Zrzut ekranu przedstawiający wybieranie dwóch planów w magazynie zapytań.

  3. Użyj przycisku Porównaj plany dla wybranego zapytania w osobnym oknie, aby rozpocząć porównanie planów. Następnie mają zastosowanie kroki od 4 do 6 do porównania planów wykonania.

    Zrzut ekranu przedstawiający porównanie programu Showplan w magazynie zapytań.