Nowe narzędzia wprowadzają nowe możliwości, a czasami są one głęboko zakorzenione w produkcie, więc możemy je łatwo przegapić. Z SQL Server 2016 nie jest inaczej. Po zainstalowaniu CTP byłem mile zaskoczony, widząc ten dodatek, aby pomóc naszym administratorom baz danych, którzy wykonują czynności związane z dostrajaniem wydajności i dostrajaniem zapytań.
O czym więc mówię? Pomyśl o scenariuszu, w którym przeprowadzasz jakieś testy w swoim środowisku QA. Wygląda na to, że rozwiązujesz scenariusz produkcyjny i stwierdziłeś, że ten scenariusz bardzo dobrze działa w twoim środowisku testowym. Chociaż przeniosłeś dane z produkcyjnej bazy danych na testowy serwer QA niecały miesiąc temu, nadal jesteś zdziwiony pytaniem – dlaczego ta różnica?
Kolejnym wymaganiem, na które wszyscy zwracają uwagę, jest rozpoczęcie porównywania planów wykonania między środowiskiem produkcyjnym i testowym dla tego samego zapytania. Niektóre plany wykonania na serwerze produkcyjnym mogą czasami działać na stronach i trudno jest je zobaczyć wizualnie.
SQL Server 2016 – Porównanie planów
Jeśli masz plan wykonania ze swojego środowiska produkcyjnego, otwórz go w SQL Server 2016 Management Studio i kliknij prawym przyciskiem myszy, aby uzyskać następującą opcję:
Widać, że to ciekawy dodatek. Należy wybrać „Porównaj plan pokazu”. Teraz wybierz plan, który został wygenerowany ze środowiska testowego. Spowoduje to, że oba plany wykonania zostaną umieszczone obok siebie, jak pokazano poniżej. Spójrz na fioletowy kolor na węzłach.
Oznacza to, że oba węzły są takie same, ale mają pewne różnice w niektórych właściwościach. Teraz należy kliknąć prawym przyciskiem myszy i otworzyć kartę właściwości.
Tutaj możemy iść dalej i porównać każdą z właściwości węzła, aby znaleźć rozróżnienie między planami. To niesamowite możliwości dodane w nowej wersji.
Jestem pewien, że ta funkcja będzie bardzo przydatna w ćwiczeniach dostrajania zapytań w swoich środowiskach. To powiedziawszy, jedną rzecz, którą zauważyłem, jest interesująca, jeśli weźmiesz „Rzeczywisty plan wykonania”, a następnie spróbujesz go porównać z zapisanym plikiem .sqlplan – pojawi się błąd, jak pokazano poniżej:
Daj mi znać, czy chciałbyś korzystać z tej funkcji i czy korzystałeś z tej funkcji – jakie są niektóre z ulepszeń, które chciałbyś, aby ten operator porównania miał? Na pewno chciałbym się od ciebie uczyć.