Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL SERVER 2016 – Vergleich von Ausführungsplänen

Neue Tools bringen neue Funktionen und manchmal sind diese so tief in das Produkt eingebettet, dass wir sie leicht übersehen können. Und SQL Server 2016 ist nicht anders. Nach der Installation des CTP war ich angenehm überrascht, diese Ergänzung zu sehen, um unseren DBAs zu helfen, die Aktivitäten zur Leistungsoptimierung und Abfrageoptimierung durchführen.

Wovon rede ich also? Stellen Sie sich ein Szenario vor, in dem Sie in Ihrer QA-Umgebung eine Art Test durchführen. Sie scheinen ein Produktionsszenario zu beheben und haben festgestellt, dass genau dieses Szenario in Ihrer Testumgebung sehr gut funktioniert. Obwohl Sie die Daten vor weniger als einem Monat aus der Produktionsdatenbank auf den Test-QA-Server übertragen haben, sind Sie immer noch verblüfft über die Frage – warum dieser Unterschied?

Die nächste Anforderung, die sich alle ansehen, ist der Vergleich der Ausführungspläne zwischen Ihrer Produktions- und Testumgebung für dieselbe Abfrage. Einige der Ausführungspläne auf einem Produktionsserver können manchmal mehrere Seiten umfassen und sind visuell schwer zu unterscheiden.

SQL Server 2016 – Planvergleich

Wenn Sie den Ausführungsplan aus Ihrer Produktionsumgebung haben, öffnen Sie ihn in SQL Server 2016 Management Studio und klicken Sie mit der rechten Maustaste, um die folgende Option zu erhalten:

Wie Sie sehen, ist das eine interessante Ergänzung. Der „Showplan vergleichen“ muss ausgewählt werden. Wählen Sie nun den Plan aus, der aus Ihrer Testumgebung generiert wurde. Dadurch werden beide Ausführungspläne nebeneinander angezeigt, wie unten gezeigt. Sehen Sie sich die violette Farbe an den Knoten an.

Dies stellt die Tatsache dar, dass beide Knoten gleich sind, aber einige Unterschiede in einigen Eigenschaften aufweisen. Jetzt liegt es an uns, mit der rechten Maustaste zu klicken und die Registerkarte Eigenschaften aufzurufen.

Hier können wir fortfahren und alle Knoteneigenschaften vergleichen, um herauszufinden, wo die Unterschiede zwischen den Plänen liegen. Dies sind großartige Funktionen, die in der neuen Version hinzugefügt wurden.

Ich bin sicher, dass Sie diese Funktion bei Übungen zur Abfrageoptimierung in Ihrer Umgebung sehr nützlich finden werden. Allerdings habe ich etwas Interessantes gesehen, wenn Sie einen Live-„Tatsächlichen Ausführungsplan“ nehmen und dann versuchen, ihn mit einer gespeicherten .sqlplan-Datei zu vergleichen – es wird ein Fehler angezeigt, wie unten gezeigt:

Lassen Sie mich wissen, ob Sie diese Funktion verwenden würden und ob Sie diese Funktion verwendet haben – welche Verbesserungen wünschen Sie sich für diesen Vergleichsoperator? Ich würde auf jeden Fall gerne von Ihnen lernen.