Optimierung von SQL-Abfragen mit Query Profiler

Query Profiler generiert Profiling-Ergebnisse, die Ihnen bei der Analyse und Maximierung der Abfrageleistung in SQL-Server-Datenbanken helfen können. Das Tool ermöglicht es Ihnen, detaillierte Statistiken über ausgeführte Abfragen zu sammeln, langsame Abfragen aufzudecken und zu erzwingen und Leistungsprobleme zu beheben.

dbForge Studio for SQL Server bietet einen Query Profiler — ein visuelles Tool zum Tuning der Abfrageleistung, das die gleiche Funktionalität wie MS SSMS bietet. Außerdem bietet der dbForge Query Profiler zusätzliche Funktionen, die die Arbeit von Entwicklern und DBAs einfacher und effizienter machen.

  • Anzeigen des EXPLAIN-Plans und der Profiling-Ergebnisse sowie Überwachen der Sitzungsstatistiken
  • Sparen Sie Zeit bei der Erkennung von Engpässen in Ihren Abfragen
  • Zeitverzögerungen in verschiedenen Phasen der Ausführung einer Abfrage anzeigen
  • Unterschiede in den Ergebnissen der Abfrageprofilierung visuell vergleichen
  • Erstellen Sie ein klares und automatisiertes Profil für Ihre Datenbankabfragen
  • Schnelleres Abrufen von SQL-Abfragedaten
  • Verfolgen von SQL-Abfragen und Diagnostizieren von Leistungsproblemen bei langsamen Abfragen

Diagramm des Ausführungsplans

Verwenden Sie das Ausführungsplandiagramm, um den Abfrageausführungsplan zu visualisieren und abzustimmen, indem Sie die langsam ausführenden Knoten ermitteln.

Es handelt sich um ein praktisches grafisches Tool, mit dem Sie die Effizienz der Abfragen auf einen Blick erkennen können. Jede Abfrage im analysierten Stapel wird mit den Kosten jeder Abfrage als Prozentsatz der Gesamtkosten des Stapels angezeigt.

Um die Informationen über einen bestimmten Knoten zu sehen, zeigen Sie einfach auf ihn.

Diagramm des Ausführungsplans

Wartezeit-Statistiken

Mit der Registerkarte Wartestatistiken des Query Profiler können Sie potenzielle Engpässe in Ihrer Abfrage leicht erkennen. Die Registerkarte befindet sich direkt neben der Registerkarte mit den Abfrageprofilergebnissen.

Die Registerkarte zeigt eine Liste von Ereignissen mit Zeitstempeln und Wartezeiten an, die mit ihnen verbunden sind. Genauer gesagt, zeigt die Registerkarte den Namen des Ereignisses, die genaue Uhrzeit, zu der es stattgefunden hat, sowie die Dauer bis zur Fertigstellung, den Typ der Wartezeit, die Signaldauer, die Transaktions-ID und mehr.

Wartezeit-Statistiken

Planbaum

Der Planbaum zeigt die von der ausgeführten Abfrage zurückgegebenen EXPLAIN-Ergebnisse an. Sie sehen, dass die Anweisungen und Operationen hierarchisch in einer Baumansicht angeordnet sind. Neben den Operationen sehen Sie die entsprechenden Datenbankobjekte, die geschätzten Kosten, die Zeilen und die Executors einer bestimmten Anweisung.

Verwenden Sie die Registerkarte Planbaum, um Informationen darüber zu erhalten, wie SQL Server eine SELECT-Anweisung ausführt. Sie zeigt Positionen an, an denen das Hinzufügen eines Index zu einer Tabelle, das Optimieren von Joins usw. die Leistung der Abfrage erhöhen könnte.

Planbaum

Liste der wichtigsten Operationen

Mit der Liste der wichtigsten Operationen können Sie sich schnell einen Überblick über die zeitaufwendigsten Operationen verschaffen. Wenn Sie die ressourcen- und zeitaufwendigsten Operationen vor Augen haben, können Sie besser erkennen, welche Teile des SQL-Codes Ihrer Aufmerksamkeit bedürfen und sie entsprechend optimieren.

Die Registerkarte ist dem Planbaum sehr ähnlich. Allerdings sind die Einträge nicht hierarchisch angeordnet. Standardmäßig sortiert der Query Profiler die Einträge nach den höchsten geschätzten Kosten. Sie können die Liste nach CPU-, E/A- und anderen Kosten sortieren, um ein visuelles Bild zu erhalten.

Liste der wichtigsten Operationen

Tabelle E/A

Query Profiler enthält auch die Registerkarte Tabellen-E/A die die Eingabe-Ausgabe-Statistiken für alle am Ausführungsplan beteiligten Tabellen darstellt.

Um eine Tabelle zu erstellen, klicken Sie einfach auf die entsprechende Registerkarte im Query Profiler und alle erforderlichen Informationen werden in einem praktischen Format angezeigt.

Verwenden Sie die Registerkarte Tabellen-E/A, um detaillierte Informationen über die Anzahl der Scans, logische und physische Lesevorgänge und andere Interaktionen mit den Tabellen in einer Datenbank anzuzeigen.

Tabelle E/A

Profiling-Ergebnisse vergleichen

Das Wichtigste bei der Optimierung von SQL-Abfragen ist, die Unterschiede in den Profiling-Ergebnissen zu sehen, nachdem Sie Ihre Abfrage geändert haben.

Wenn Sie die Profiling-Ergebnisse für mehrere Abfrageausführungen auswählen, werden die Unterschiede in der Tabelle hervorgehoben. So können Sie die allgemeinen Ergebnisse einer Abfrageausführung sowie die Sitzungsstatistiken für jede Abfrageausführung vergleichen.

Die Ergebnisse der Abfrageprofilerstellung, die besser ausgefallen sind, werden in grüner Farbe hervorgehoben. Verschlechterungen der Leistung werden dagegen rot markiert.

Profiling-Ergebnisse vergleichen

Fazit

Query Profiler ist ein Tool zur Abfrageoptimierung, das Ihnen hilft, die Leistung von SQL-Abfragen zu profilieren und zu verbessern sowie die Unterschiede in den Profiling-Ergebnissen zu verfolgen, wenn die Abfrage mehrmals ausgeführt wird. Mit diesem Tool können Sie langsam laufende Abfragen erkennen, die Arbeitslast untersuchen und Engpässe analysieren, um Leistungsprobleme in SQL-Datenbanken zu beheben. Profiling kann auch verwendet werden, um das unerwartete Verhalten von Abfragen zu ermitteln.

dbForge Studio for SQL Server

Das intelligenteste SQL-Verwaltungstool

Verfügbarkeit in den Editionen von Studio für SQL Server

Feature

Enterprise
Professional
Standard
Express
T-SQL Query profiler
Yes
Yes
Yes
None
Testen Sie dbForge Studio for SQL Server und beschleunigen Sie Ihre Datenbankaufgaben! Jetzt ausprobieren