Erkunden von Query Performance Insight
Der erste Schritt bei der Optimierung der Datenbankleistung ist zu ermitteln, welche Abfragen die meisten Ressourcen verbrauchen. In älteren Versionen von SQL Server war dafür eine umfangreiche Ablaufverfolgung und eine Reihe komplexer SQL-Skripts nötig, die das Sammeln von Daten umständlich gestalten konnten.
Erkennen von problematischen Abfragen
Azure SQL-Datenbank bietet ein Tool mit dem Namen „Query Performance Insight“, das es dem Administrator ermöglicht, teure Abfragen schnell zu identifizieren. Sie können auf dem Hauptblatt Ihrer Azure SQL-Datenbank-Instanz im Abschnitt „Intelligente Leistung“ zu Query Performance Insight navigieren.
Wenn Sie Query Performance Insight starten, sehen Sie drei Schaltflächen, mit denen Sie nach zeitintensiven Abfragen oder nach Abfragen mit dem höchsten Ressourcenverbrauch filtern oder einen benutzerdefinierten Filter generieren können. Der Standardwert sind Abfragen mit Ressourcenverbrauch. Auf dieser Registerkarte werden die fünf Abfragen angezeigt, die nach der jeweiligen Ressource sortiert sind, die Sie auf der linken Seite ausgewählt haben. In diesem Fall wurde sie nach CPU sortiert. Außerdem stehen weitere Optionen zum Sortieren nach Daten-E/A- und Protokoll-E/A-Metriken bereit.
Sie können einen Drilldown in einzelne Abfragen durchführen, indem Sie auf die Zeile im unteren Raster klicken. Jede Zeile wird mit einer eindeutigen Farbe identifiziert, die mit der Farbe innerhalb des obigen Balkendiagramms korreliert.
Wenn Sie zu zeitintensiven Abfragen wechseln, können Sie ein ähnliches Layout wie zuvor sehen. In diesem Fall sind die Metriken auf die obersten fünf Abfragen beschränkt, die nach der Dauer der letzten 24 Stunden sortiert sind, und eine Summenaggregation darstellen. Im Raster unterhalb des Diagramms können Sie bestimmte Abfragen untersuchen, indem Sie auf die Zeile klicken.
Wenn Sie zur Registerkarte „Custom“ (Benutzerdefiniert) wechseln, haben Sie im Vergleich zu den anderen beiden Optionen etwas mehr Flexibilität.
Auf dieser Registerkarte können Sie klarer definieren, wie Sie die Leistungsdaten untersuchen möchten. Es werden mehrere Dropdownmenüs angezeigt, über die die visuelle Darstellung der Daten gesteuert wird. Die Schlüsselmetriken sind CPU, Protokoll-E/A, Daten-E/A und Arbeitsspeicher. Diese Metriken sind die Aspekte der Datenbankleistung, deren Obergrenze von der Dienstebene und den Computeressourcen Ihrer Azure SQL-Datenbank-Instanz bestimmt wird.
Wenn wir einen Drilldown in eine einzelne Abfrage durchführen, können wir die Abfrage-ID und die Abfrage selbst sowie den Aggregationstyp der Abfrage und den zugehörigen Zeitraum anzeigen. Außerdem korreliert die Abfrage-ID auch mit der Abfrage-ID, die sich im Abfragedatenspeicher befindet. Metriken, die aus Query Performance Insights abgeleitet werden, können dann problemlos im Abfragedatenspeicher platziert werden, um eine tiefere Analyse oder ggf. eine Problemlösung zu ermöglichen.
Auch wenn Query Performance Insight den Ausführungsplan der Abfrage nicht anzeigt, können Sie diese trotzdem schnell identifizieren und die Informationen nutzen, um den Plan aus dem Abfragedatenspeicher zu extrahieren und in Ihre Datenbank einzufügen.