Daten sind alles und folglich auch SQLüberall. Die strukturierte Abfragesprache ist die am häufigsten verwendete Abfragesprache und wird von den meisten modernen relationalen Datenbankverwaltungssystemen unterstützt. Tatsächlich ist seine Verwendung so weit verbreitet, dass wir Datenbankserver häufig als SQL-Server bezeichnen. Die Sprache definiert, wie Abfragen gebildet werden können, um die genauen erforderlichen Daten aus einer Datenbank zu extrahieren. Angesichts der Vielzahl moderner Datenbanken mitDutzende von verknüpften Tabellen, SQL-Abfragen können sehr komplex sein. Mit der zusätzlichen Komplexität geht eine verringerte Leistung einher. Die SQL-Abfrageoptimierung ermöglicht es, Abfragen so zu optimieren, dass sie so schnell wie möglich die richtigen Daten zurückgeben. Die Optimierung von SQL-Abfragen kann manuell erfolgen, es gibt jedoch Tools, die Sie bei der Optimierung unterstützen. Wir werden einige der besten Tools überprüfen, die wir gefunden haben.
Da wir möchten, dass alle auf der gleichen Seite sind wieWir überprüfen die besten Produkte und beginnen mit der Erörterung des Umstands und der Scheu der SQL-Abfrageoptimierung. Anschließend werden die wichtigsten Funktionen der SQL-Abfrageoptimierungstools erläutert. Verschiedene Tools bieten unterschiedliche Funktionen, wie Sie gleich sehen werden. Wir werden unser Bestes tun, um die wesentlichen Funktionen zu ermitteln, nach denen Sie suchen sollten, wenn Sie das beste Werkzeug für Ihre spezifischen Anforderungen auswählen. Und schließlich werden wir die besten Tools überprüfen, die wir finden konnten.
SQL-Abfrageoptimierung, das Was und das Warum
Einfach ausgedrückt, ist die SQL-Abfrageoptimierung der VorgangAnalysieren von SQL-Abfragen und Ermitteln des effizientesten Ausführungsmechanismus. Oft handelt es sich um einen Prozess, bei dem verschiedene Abfragen getestet werden, um herauszufinden, welche die beste Leistung bietet, und gleichzeitig die gesuchten Daten zurückgegeben werden. Abfrageoptimierer werden manchmal in Datenbankverwaltungssysteme integriert, aber externe Tools von Drittanbietern bieten häufig bessere Leistungsergebnisse. Ein typisches Abfrageoptimierungsprogramm generiert einen oder mehrere Abfragepläne für jede Abfrage, von denen jeder ein Mechanismus ist, der zum Ausführen der Abfrage verwendet wird. Die Leistung (d. H. Die Ausführungszeit) von jedem wird gemessen und der effizienteste Abfrageplan wird ausgewählt und zum Ausführen der Abfrage verwendet. Während einige SQL-Abfrageoptimierungstools einfachere Hilfsanwendungen sind, die viel menschliche Unterstützung erfordern, erledigen die besten Systeme den größten Teil ihrer Arbeit im Hintergrund.
Hier ist ein kurzes Beispiel für die Abfrageoptimierung. Wenn ein Benutzer eine Abfrage ausführt, die ungefähr die Hälfte der Daten einer Tabelle zu einem Zeitpunkt auswählt, an dem der Server mit mehreren gleichzeitigen Verbindungen überlastet ist. In einer solchen Situation kann das Abfrageoptimierungsprogramm auf der Grundlage begrenzter Ressourcen entscheiden, einen Abfrageplan zu verwenden, der die Tabellenindizes verwendet, um die Abfrage zu erfüllen. Dadurch kann die Belastung der Serverressourcen durch die Abfrage verringert werden. Wenn der Benutzer dieselbe Abfrage zu einem anderen Zeitpunkt ausführte, zu dem mehr Serverressourcen verfügbar waren, hätte das Abfrageoptimierungsprogramm möglicherweise feststellen können, dass die Ressourcenbeschränkung kein Problem darstellt, und keine Tabellenindizes verwenden und die vollständige Tabelle in den Arbeitsspeicher laden können.
Hauptmerkmale von SQL Query Optimization Tools
Wie wir festgestellt haben, die Hauptfunktion eines SQLMit dem Abfrageoptimierungstool können Sie versuchen, die beste Methode zum Ausführen der Abfrage zu ermitteln, indem Sie verschiedene Abfragepläne analysieren. Alle hier besprochenen Tools werden zumindest dazu beitragen, aber einige bieten viel mehr Funktionalität. Werfen wir einen Blick auf einige der wichtigsten Funktionen, die in Tools zur SQL-Abfrageoptimierung häufig zu finden sind.
Grundlegende SQL-Optimierung
Dies ist die Kernfunktionalität von SQL QueryOptimierungstools. Hierbei werden SQL-Anweisungen anders geschrieben, um die Leistung der Abfrage zu verbessern und gleichzeitig den gleichen resultierenden Datensatz zu erhalten. Das Tool misst die Abfrageausführungszeit der verschiedenen Versionen der Abfrage (Abfragepläne) und wählt diejenige aus, die am schnellsten ausgeführt wird.
Datenbankmodul-Unterstützung
Die meisten Tools unterstützen zumindest die gängigstenDatenbank-Engines wie Microsoft SQL, Oracle, MySQL, PostgreSQL und MariaDB. Andere unterstützen eine größere Auswahl und andere unterstützen nur eine. Es ist wichtig, ein Tool auszuwählen, das alle von Ihnen verwendeten Engines unterstützt.
Cloud-basierte Datenbankunterstützung
Einige SQL-Abfrageoptimierungstools können diesAnalysieren und Optimieren von in der Cloud gehosteten Datenbanken wie Microsoft SQL Azure oder AWS RDS. Die Cloud-Unterstützung ist von Tool zu Tool sehr unterschiedlich. Auch hier ist es wichtig, eine auszuwählen, die das unterstützt, was Sie haben. Beachten Sie, dass die meisten Tools, die Cloud-Datenbanken unterstützen, auch lokale Tools unterstützen.
Die besten Tools und Software zur SQL-Abfrageoptimierung
Endlich ist es an der Zeit zu enthüllen - undreview - die besten Tools und Software zur SQL-Abfrageoptimierung, die wir finden konnten. Unsere Liste enthält viele verschiedene Arten von Tools, von denen jedes einen eigenen Twist für die Optimierung mit sich bringt. Unsere wichtigsten Einschlusskriterien waren, dass jedes Produkt zumindest dazu beitrug, SQL-Abfragen manuell zu optimieren - die meisten tun dies automatisch - und dass sie wie angekündigt funktionierten. Wir möchten nicht, dass Sie Zeit mit Produkten verschwenden, die nicht das tun, was sie sollten.
1. SolarWinds Database Performance Analyzer (Kostenlose Testphase)
Unser erstes Produkt stammt von SolarWinds, einem UnternehmenDas Unternehmen genießt einen hervorragenden Ruf, da es seit fast zwanzig Jahren einige der besten Tools für das Netzwerk- und Systemmanagement entwickelt hat. Das Flaggschiff unter dem Namen SolarWinds Network Performance Monitor wird von vielen als eine der besten Software zur Überwachung der Netzwerkbandbreite angesehen. Ein Teil des Ruhmes von SolarWinds ist auch auf die vielen kostenlosen Tools zurückzuführen, die es anbietet. Es handelt sich um kleinere Tools, die jeweils eine bestimmte Aufgabe von Netzwerkadministratoren erfüllen. Zwei hervorragende Beispiele für diese Tools sind der Advanced Subnet Calculator und der Kiwi Syslog Server.
Für die SQL-Abfrageoptimierung benötigen Sie jedoch die SolarWinds Database Performance Analyzer (DPA), ein Datenbankverwaltungstool für SQL-AbfragenLeistungsüberwachung, -analyse und -optimierung. Es überwacht und analysiert Ihre SQL-Datenbankinstanzen und analysiert mithilfe einer Methode zur Analyse der Antwortzeit, bei der die Zeit zwischen einer Abfrageanforderung und der entsprechenden Antwort aus der Datenbank im Vordergrund steht, die Wartetypen und Ereignisse, um die Engpässe von Datenbanken zu lokalisieren.
- KOSTENLOSE TESTPHASE: SolarWinds Database Performance Analyzer
- Download-Link: https://www.solarwinds.com/database-performance-analyzer
Das Tool, das sich auch hervorragend zur Fehlerbehebung eignetbietet eine benutzerfreundliche Oberfläche, mit der Sie Probleme schnell und einfach finden können. Auf dem Hauptbildschirm können Sie Datenbankinstanzen, Wartezeiten, Abfragetipps, CPU (mit Warnungen und kritischen Warnungen), Speicher, Datenträger und Sitzungen anzeigen.
Beim Drilldown wird das Trend-Dashboard von aEine bestimmte Datenbankinstanz zeigt Ihnen in einem grafischen Format die Gesamtwartezeiten (oder die von Ihnen gewählte durchschnittliche oder typische Wartezeit an einem Tag) für Benutzer im Laufe eines Monats an. In diesem Diagramm steht jede Farbe für eine einzelne SQL-Anweisung, sodass Sie optisch ansprechend sehen können, welche Anweisung am längsten ausgeführt werden kann.
Dieses Produkt ist zwar keine echte SQL-AbfrageOptimierungswerkzeuge, einige ihrer Funktionen können Ihnen dabei helfen. Zum Beispiel kann es die Ausführungszeit von Abfragen überwachen und messen, und es gibt auch einige Optimierungshinweise, obwohl dies eher mit der Datenbankkonfiguration als mit dem Abfragecode zusammenhängt.
Der Preis für die SolarWinds Database Performance Analyzer beginnt bei 1 995 $ und variiert je nachAnzahl und Art der zu überwachenden Datenbankinstanzen. Wenn Sie das Produkt vor dem Kauf testen möchten, steht eine voll funktionsfähige 14-Tage-Testversion zur Verfügung.
2. SQL Query Tuner für SQL Diagnostic Manager
Das SQL Diagnostic Manager ist eines der besten verfügbaren Tools zur Datenbanküberwachung. Aber wenn Sie es mit dem ergänzen SQL-AbfragetunerWas Sie bekommen, ist eine der besten SQL-AbfragenOptimierungs-Tools. Die Vorteile sind vielfältig. Es identifiziert problematische SQL-Abfragen über das Datenbank-Profiling der Wartezeitanalyse. Es kann Ihnen auch automatisch generierte Optimierungsempfehlungen mit dem SQL-Abfrageoptimierungsassistenten geben. Das Tool überprüft die Leistung von SQL-Abfragen durch Auslastungstests in simulierten Produktionsumgebungen.
Das SQL Query Tuner erkennt schnell und einfach SQL-Abfragen, dieschlechte Datenbankleistung durch Datenbankprofilerstellung verursachen und eine grafische Visualisierung der Wartezeitanalyse anzeigen. Es überwacht eine gesamte Datenquelle innerhalb eines konfigurierbaren Zeitraums mit kontinuierlicher Profilerstellung. Infolgedessen erhalten Sie ein besseres Verständnis darüber, wie SQL Server SQL-Abfragen ausführen soll, und über die verschiedenen Leistungskosten.
Dieses Tool wird automatisch generiertLösungsvorschläge mit dem SQL-Abfrageoptimierungsassistenten, die einen wesentlichen Kontext für die Optimierung von SQL-Abfragen bieten. Es bietet eine farbcodierte Indexanalyse der verwendeten, nicht verwendeten und fehlenden Indizes mit Empfehlungen für eine optimale Leistung. Sie können mögliche Fälle generieren und die beste Alternative zu einer bestimmten SQL-Anweisung finden, indem Sie Umschreibungen von SQL-Abfragen und Injektionen von Hinweisen einbeziehen.
Das SQL-Abfragetuner Bietet einzigartige visuelle SQL-Abfrage-OptimierungsdiagrammeSo können Sie die Auswirkungen von SQL-Anweisungen auf die Datenbank anhand von Diagrammen anstelle von komplizierten Ausführungsplänen nachvollziehen. Indizes und Einschränkungen für Tabellen und Ansichten werden mit Tabellenstatistiken angezeigt, und die in einer SQL-Anweisung verwendeten Verknüpfungen (z. B. kartesische Verknüpfungen, implizite kartesische Verknüpfungen und viele-zu-viele-Beziehungen) werden mit den Diagrammen verknüpft.
Überprüfen Sie die Leistung der vorhandenen undalternative SQL-Abfragen gegen die Datenbank über Lasttests. Konfigurieren Sie SQL-Abfragen so, dass sie mehrfach parallel ausgeführt werden und wie sie auf simulierte Produktionsumgebungen reagieren, ohne dass das Risiko besteht, dass sie tatsächlich in der Produktion getestet werden. Mit diesem Tool können Sie schlecht ausgeführte SQL-Abfragen für SQL Server über eine intuitive Benutzeroberfläche optimieren.
Das SQL Query Tuner ist ein Add-On zum SQL Diagnostic Manager. Wenn Sie dieses Produkt noch nicht besitzen, können beide zusammen als SQL Diagnostic Manager Pro Für 2 156 USD pro Lizenz ist auch eine kostenlose 14-Tage-Testversion ohne Kreditkarte beim Anbieter des Produkts erhältlich
3. SQL Server Management Studio
Wenn es sich bei Ihrem Datenbankserver um einen Microsoft SQL Server handelt, ist dies möglicherweise das Tool von Microsoft. SQL Server Management Studio (SSMS), ist alles, was du brauchst. Wie Sie vielleicht wissen, wird das Tool, das zuerst mit Microsoft SQL Server 2005 gestartet wurde, zum Konfigurieren, Verwalten und Verwalten aller Komponenten in Microsoft SQL Server verwendet. Es enthält sowohl Skripteditoren als auch grafische Werkzeuge, die mit Objekten und Funktionen des Dienstes arbeiten. Möglicherweise wissen Sie nicht, dass eines der SSMS-Tools, das SQL Server-Datenbankmodul-Optimierungsratgeber (DTA) kann für die SQL-Abfrageoptimierung verwendet werden.
Der Hauptzweck des DTA ist die Analyse von Datenbankenund Empfehlungen geben. Laut der offiziellen Dokumentation von Microsoft können Sie mit dem Tool die Leistung einer bestimmten Problemabfrage überprüfen, eine große Anzahl von Abfragen in einer oder mehreren Datenbanken optimieren, eine explorative Was-wäre-wenn-Analyse potenzieller physischer Entwurfsänderungen durchführen und den Speicherplatz verwalten.
Eines der besten Dinge über SQL Server Management Studio ist sein Preis. Dies ist ein kostenloses Tool von Microsoft, mit dem Sie nicht nur SQL Server, sondern auch die Azure SQL-Datenbank verwalten können. Es ist vielleicht nicht das benutzerfreundlichste Tool, aber angesichts seines Preises lohnt es sich, es sich anzusehen.
4. EverSQL
EverSQL ist interessant, da es eines der wenigen Online-SQL-Optimierungstools ist. Administratoren können dieses Tool verwenden, um Empfehlungen zur Abfrageoptimierung und Vorschläge zur Verbesserung der Indizierung abzurufen. Datenbankunterstützung in EverSQL ist etwas begrenzt. Es unterstützt jedoch die gängigsten kostenpflichtigen und kostenlosen Open-Source-Datenbank-Engines, einschließlich MSSQL, Oracle, MySQL, MariaDB und PerconaDB. Da es sich um ein Offline-Tool handelt, das keine Verbindung zu Ihrer Datenbank hat, kann es theoretisch die SQL-Abfrage optimieren, ist jedoch besser geeignet, wenn bekannt ist, welche Art von Datenbankmodul die optimierte Abfrage verarbeitet.
Die Benutzung des Tools ist denkbar einfach. Sie stellen eine Verbindung zur Site her, wählen Ihren Datenbanktyp und Ihre Version aus und fügen den SQL-Abfragecode ein. Um Indizierungsempfehlungen zu erhalten und dem Tool das Anwenden erweiterter Abfragetransformationen zu ermöglichen, können Sie optional die Schemastruktur Ihrer Datenbank hochladen. Sie klicken auf "Weiter" und erhalten innerhalb von Sekunden die optimierte Version Ihrer Abfrage sowie einige Indizierungsempfehlungen.
EverSQL führt jedoch nicht nur Abfrageoptimierungen durch. Einige andere kostenlose und nützliche Online-Tools werden ebenfalls angeboten. Es gibt zum Beispiel einen SQL Query Syntax Check & Validator, einen Query Minifier für SQL-Anweisungen und einen Query Formatter.
Die Preisstruktur von EverSQL Ist einfach. Sie haben die Wahl zwischen einem kostenlosen Plan, mit dem Sie 30 Tage lang eine kostenlose Abfrageoptimierung pro Tag erhalten. Dies ist der Versuchsplan. Als nächstes haben Sie den Basisplan für 29 USD / Monat, der 10 monatliche Optimierungen enthält, und den Plusplan für 135 USD / Monat mit 30 Optimierungen pro Monat und Live-Chat-Unterstützung. Kundenspezifische Pläne können ebenfalls für Ihre speziellen Bedürfnisse arrangiert werden.
5. SentryOne Plan Explorer
Plan Explorer ist ein kostenloses Tool von SentryOne. Es ist eine der besten SQL-Abfrageanalysen undOptimierungs-Tools. Mit diesem Tool können Sie die schwerwiegendsten SQL Server-Abfrageprobleme schnell beheben. Es besteht aus mehreren Modulen. Bei der Indexanalyse werden Bewertungsalgorithmen verwendet, um den besten Index für eine bestimmte Abfrage zu ermitteln. Sie können auf einfache Weise empfohlene Indizes anzeigen, Indizes erstellen und ändern sowie alte Statistiken erkennen und aktualisieren.
Das Statistik-Analysemodul zeigt Ihnen dieAuswirkungen von kompilierten und Laufzeit-Abfrageparametern auf die Leistung. Auf diese Weise können Sie schnell Datenfehler erkennen, die zu Problemen beim Parameter-Sniffing beitragen können, potenzielle aufsteigende Schlüsselprobleme visualisieren und Möglichkeiten für gefilterte Indizes identifizieren.
Das Abfrage-Leistungsprofil und die WiedergabeDas Modul gibt Abfragen wieder und greift auf die Live-Performance-Statistiken zu. Mit diesem Tool können Sie das Abfrageprofil wiedergeben, um genau zu sehen, welche Operatoren die Systemressourcen am meisten belasten. Die Abfrage muss nicht erneut ausgeführt werden.
Während die meisten SQL-Abfrageoptimierer geschätzte Plankosten verwenden, Plan Explorer kann die tatsächlich beobachteten Kosten anzeigen. Und Sie können den Kostenunterschied erkennen, indem Sie die Ansicht zwischen "Geschätzt" und "Ist" umschalten. Es gibt mehr Funktionen für dieses kostenlose Tool, als wir Zeit haben, um sie vorzustellen. Aber da es sich um ein kostenloses Tool handelt, sollten Sie es vielleicht ausprobieren und sich selbst davon überzeugen.
6. dbForge Studio für SQL Server
DevartIst dbForge Studio für SQL Server ist ein All-in-One-SQL Server-GUI-Tool, das sein kannWird für SQL Server-Verwaltung, -Administration, -Entwicklung, -Datenberichterstellung, -Analyse, -Optimierung und mehr verwendet. SQL-Entwickler und Datenbankadministratoren können mit dem GUI-Tool nahezu alle komplexen Datenbankaufgaben beschleunigen, z. B. das Entwerfen von Datenbanken, das Schreiben von SQL-Code, das Vergleichen von Datenbanken, das Synchronisieren von Schemas und Daten sowie das Generieren aussagekräftiger Testdaten.
dbForge Studio für SQL Server beinhaltet die SQL-Abfrageplan-Tool, ein spezielles Tool zur Abfrageoptimierung. Die Funktion "Ausführungsplandiagramm" hilft bei der Visualisierung und Optimierung des Abfrageausführungsplans, indem die langsam ausgeführten Knoten ermittelt werden. Auf der Registerkarte "Wartestatistik" des Tools können Sie potenzielle Engpässe in Ihrer Abfrage auf einfache Weise erkennen, indem Sie eine Liste mit Ereignissen und damit verbundenen Wartezeiten anzeigen. Sie können auch die Planstruktur des Tools verwenden, um Informationen darüber abzurufen, wie der SQL Server eine SELECT-Anweisung ausführt. Es zeigt Ihnen, wo das Hinzufügen eines Index zu einer Tabelle oder das Optimieren des Tabellenbeitritts beispielsweise die Leistung steigern können.
Das Tool, auch bekannt als T-SQL Query Profiler, ist in die Standard-, Profesional- undEnterprise-Versionen von dbForge Studio für SQL Server kosten 249,95 USD, 499,95 USD bzw. 699,95 USD. Eine kostenlose 30-Tage-Testversion des gesamten Produkts - nicht nur des Abfrageoptimierungstools - ist verfügbar.
Bemerkungen