Porównanie planów wykonywania
Dotyczy:programu SQL Server
W tym temacie 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 dowiedzieć się więcej, przejdź do sekcji Wyświetlanie rzeczywistego planu wykonania.
Możliwość porównywania planów jest czymś, co mogą zrobić specjaliści ds. baz danych z przyczyn rozwiązywania problemów:
- Znajdź powód, dla którego zapytanie lub przetwarzanie wsadowe nagle zwolniły.
- Omówienie wpływu ponownego zapisywania zapytań.
- 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 planów umożliwia porównanie równoległe dwóch różnych planów wykonywania, co ułatwia identyfikację podobieństw i zmian, które wyjaśniają różne zachowania ze wszystkich powodów wymienionych powyżej. 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. Kliknięcie 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 pokolorowany, znajdujący się między dwoma węzłami 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.
Aby porównać plany wykonania
Otwórz wcześniej zapisany plik planu zapytania (.sqlplan) za pomocą menu Plik i kliknięcia polecenia Otwórz plik, lub przeciągnij plik planu do okna 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.
Kliknij prawym przyciskiem myszy w pusty obszar planu wykonania, a następnie kliknij Porównaj Showplan.
Wybierz drugi plik planu zapytania, z którym chcesz się porównać. Drugi plik zostanie otwarty, aby można było porównać plany.
Porównywane plany będą domyślnie otwierać nowe okno z jednym na górze i jednym na dole. Domyślnym wyborem będzie pierwsze wystąpienie operatora lub węzła, które jest wspólne w porównywanych planach, ale pokazuje różnice między nimi. 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 u dołu lub po prawej stronie. Wybranie operatora węzła głównego w dowolnym z porównanych planów (węzeł SELECT na poniższej ilustracji) również wybiera odpowiedni operator węzła głównego w innym planie porównywanym.
Porównanie 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.
Napiwek
Wszystkie opcje powiększania i nawigacji dostępne dla planów wykonywania działają w trybie porównania planu. Aby uzyskać więcej informacji, zobacz Wyświetlanie rzeczywistego planu wykonania.
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, zostaną poprzedzone nie równym znaku (≠), aby ułatwić identyfikację.
W dolnej części zostanie również otwarte okno nawigacji Showplan Analysis. Dostępne są trzy karty:
- Na karcie Opcje instrukcji domyślnym wyborem jest Wyróżnij podobne operacje, a ten sam wyróżniony operator lub węzeł w porównywanych planach mają ten sam kolor i wzorzec linii. Przejdź między podobnymi obszarami w porównywanych planach, klikając zielony wzór. 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.
Uwaga
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.
Karta Multi Statement jest przydatna podczas porównywania planów z wieloma instrukcjami, ponieważ umożliwia porównanie właściwej pary instrukcji.
Na karcie Scenarios znajdziesz automatyczną analizę niektórych z najważniejszych aspektów dotyczących różnic w szacowaniu kardynalności w porównywanych planach. Dla każdego operatora wymienionego w panelu po lewej stronie, w panelu po prawej stronie pokazane są szczegóły dotyczące scenariusza pod linkiem kliknij tutaj, aby uzyskać więcej informacji o tym scenariuszu, a także wymienione są możliwe powody tego scenariusza.
Jeśli to okno zostanie zamknięte, kliknij prawym przyciskiem myszy pusty obszar porównywanego planu i wybierz Opcje porównania programu Showplan, aby ponownie otworzyć.
Opcje porównania planu
Aby porównać plany wykonywania w Query Store
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ń.
Użyj kombinacji SHIFT i myszy, aby wybrać dwa plany dla tego samego zapytania.
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.