Die 6 besten Tools zur Optimierung von SQL-Abfragen im Jahr 2020

click fraud protection

Daten sind alles und folglich ist SQL überall. Die strukturierte Abfragesprache hat sich zur am häufigsten verwendeten Abfragesprache entwickelt und wird von den meisten modernen relationalen Datenbankverwaltungssystemen unterstützt. Tatsächlich ist seine Verwendung so weit verbreitet, dass wir Datenbankserver oft als SQL-Server bezeichnen.

Die Sprache definiert, wie Abfragen gebildet werden können, um aus einer Datenbank genau die erforderlichen Daten zu extrahieren. Angesichts der Vielzahl moderner Datenbanken mit Dutzenden von verknüpften Tabellen können SQL-Abfragen recht komplex sein. Mit zusätzlicher Komplexität geht eine reduzierte Leistung einher. Die SQL-Abfrageoptimierung ermöglicht die Feinabstimmung von Abfragen, damit sie so schnell wie möglich die richtigen Daten zurückgeben. Die Optimierung von SQL-Abfragen kann manuell durchgeführt werden, es gibt jedoch Tools, die bei der Optimierung helfen. Wir sind dabei, einige der besten Tools zu überprüfen, die wir gefunden haben.

Da wir möchten, dass alle bei der Überprüfung der besten Produkte auf dem gleichen Stand sind, diskutieren wir zunächst das Was und die Scheu vor der Optimierung von SQL-Abfragen. Anschließend besprechen wir die Hauptfunktionen von SQL-Abfrageoptimierungstools. 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.

instagram viewer

Abfrageoptimierung in SQL Servern

Einfach ausgedrückt ist die SQL-Abfrageoptimierung der Vorgang, bei dem SQL-Abfragen analysiert und der effizienteste Ausführungsmechanismus bestimmt wird. Es ist oft ein Trial-and-Error-Prozess, bei dem verschiedene Abfragen getestet werden, um zu sehen, welche die beste Leistung bietet, während gleichzeitig die gesuchten Daten zurückgegeben werden. Abfrageoptimierer sind manchmal in Datenbankverwaltungssysteme integriert, aber externe Tools von Drittanbietern werden oft für bessere Leistungsergebnisse gehalten. Ein typischer Abfrageoptimierer generiert für jede Abfrage einen oder mehrere Abfragepläne, von denen jeder ein Mechanismus ist, der zum Ausführen der Abfrage verwendet wird. Die Leistung (d. h. Ausführungszeit) von jedem wird gemessen und der effizienteste Abfrageplan wird ausgewählt und verwendet, um die Abfrage auszuführen. Während einige SQL-Abfrageoptimierungstools einfachere Hilfsanwendungen sind, die viel menschliche Unterstützung erfordern, erledigen die besten Systeme die meiste 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 auswählt, während der Server mit mehreren gleichzeitigen Verbindungen stark beansprucht wird. In einer solchen Situation könnte der Abfrageoptimierer entscheiden, einen Abfrageplan zu verwenden, der die Tabellenindizes verwendet, um die Abfrage basierend auf begrenzten Ressourcen 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, wenn mehr Serverressourcen verfügbar waren, könnte der Abfrageoptimierer haben festgestellt, dass Ressourcenbeschränkungen kein Problem darstellen und verwenden keine Tabellenindizes, wodurch die vollständige Tabelle in geladen wird Erinnerung.

Hauptmerkmale von Tools zur Optimierung von SQL-Abfragen

Wie wir festgestellt haben, besteht die Hauptfunktion eines SQL-Abfrageoptimierungstools darin, zu versuchen, die beste Methode zum Ausführen der Abfrage zu ermitteln, indem verschiedene Abfragepläne analysiert werden. Alle hier getesteten Tools werden zumindest dies tun, aber einige bieten viel mehr Funktionalität. Werfen wir einen Blick auf einige der Hauptfunktionen, die häufig in Tools zur Optimierung von SQL-Abfragen zu finden sind.

Grundlegendes SQL-Tuning

Dies ist die Kernfunktionalität der Tools zur Optimierung von SQL-Abfragen. Es ist der Prozess, SQL-Anweisungen unterschiedlich neu zu schreiben, mit dem Ziel, die Leistung der Abfrage zu verbessern und gleichzeitig den gleichen resultierenden Datensatz zu erhalten. Das Tool funktioniert, indem es die Abfrageausführungszeit der verschiedenen Versionen der Abfrage (Abfragepläne) misst und diejenige auswählt, die am schnellsten ausgeführt wird.

Unterstützung von Datenbankmodulen

Die meisten Tools unterstützen zumindest die gängigsten Datenbank-Engines wie Microsoft SQL, Oracle, MySQL, PostgreSQL und MariaDB. Andere werden eine breitere Auswahl unterstützen und andere werden jedoch nur eine unterstützen. Es ist wichtig, ein Tool auszuwählen, das alle von Ihnen verwendeten Engines unterstützt.

Cloud-basierte Datenbankunterstützung

Einige Tools zur Optimierung von SQL-Abfragen können in der Cloud gehostete Datenbanken wie Microsoft SQL Azure oder AWS RDS analysieren und optimieren. Die Cloud-Unterstützung variiert stark von Tool zu Tool. Auch hier ist es wichtig, einen auszuwählen, der das unterstützt, was Sie haben. Beachten Sie, dass die meisten Tools, die Clouddatenbanken unterstützen, auch lokale Datenbanken unterstützen.

Beste Tools und Software zur Optimierung von SQL-Abfragen

Endlich ist es an der Zeit, die besten Tools und Software zur Optimierung von SQL-Abfragen zu enthüllen und zu überprüfen, die wir finden konnten. Unsere Liste enthält viele verschiedene Arten von Tools, von denen jedes seine eigene Wendung zur Optimierung bringt. Unsere Haupteinschlusskriterien waren, dass jedes Produkt zumindest bei der manuellen Optimierung von SQL-Abfragen half – 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 sollen.

Unser erstes Produkt stammt von SolarWinds, einem Unternehmen, das seit fast zwanzig Jahren einen ausgezeichneten Ruf als Hersteller einiger der besten Netzwerk- und Systemverwaltungstools genießt. Sein Flaggschiffprodukt namens SolarWinds Network Performance Monitor wird von vielen als eine der besten Software zur Überwachung der Netzwerkbandbreite angesehen. Ein Teil des Ruhms von SolarWinds kommt auch von den vielen kostenlosen Tools, die es anbietet. Dabei handelt es 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 Optimierung von SQL-Abfragen benötigen Sie jedoch die SolarWinds Database Performance Analyzer (DPA), ein Datenbankverwaltungstool, das für die Überwachung, Analyse und Optimierung der SQL-Abfrageleistung entwickelt wurde. Es überwacht und analysiert Ihre SQL-Datenbankinstanzen und verwendet eine Antwortzeitanalysemethode, die den Hauptfokus auf die Zeit legt zwischen einer Anfrageanfrage und der entsprechenden Antwort aus der Datenbank, analysiert Wartetypen und Ereignisse, um Engpässe von Datenbanken.

SolarWinds Database Performance Analyzer
  • KOSTENLOSE TESTPHASE: SolarWinds Database Performance Analyzer
  • Download-Link:https://www.solarwinds.com/database-performance-analyzer

Das Tool, das sich auch hervorragend für die Fehlerbehebung eignet, verfügt über eine benutzerfreundliche Oberfläche, die Ihnen hilft, Probleme schnell und einfach zu finden. Auf dem Hauptbildschirm können Sie Datenbankinstanzen, Wartezeiten, Abfragehinweise, CPU (mit Warnungen und kritischen Warnungen), Speicher, Festplatte und Sitzungen anzeigen.

Beim Drilldown zeigt Ihnen das Trend-Dashboard einer bestimmten Datenbankinstanz in grafischer Form die Gesamtwartezeiten (oder Ihre Wahl zwischen durchschnittlichen oder typischen Tageswartezeiten) für Benutzer im Laufe eines Monats. In diesem Diagramm stellt jede Farbe eine einzelne SQL-Anweisung dar, sodass Sie eine visuell ansprechende Darstellung davon erhalten, welche Anweisung am längsten ausgeführt wird.

Obwohl dieses Produkt kein echtes Tool zur Optimierung von SQL-Abfragen ist, können Ihnen einige seiner Funktionen dabei helfen. Es kann beispielsweise die Ausführungszeit von Abfragen überwachen und messen und bietet auch einige Optimierungshinweise, obwohl dies eher mit der Datenbankkonfiguration als mit dem Abfragecode zu tun hat.

Der Preis für die SolarWinds Database Performance Analyzer beginnt bei 1 995 US-Dollar und variiert je nach Anzahl und Art der zu überwachenden Datenbankinstanzen. Wenn Sie das Produkt vor dem Kauf testen möchten, eine voll funktionsfähige 14-Tage-Testversion ist verfügbar.

2. SQL-Abfrage-Tuner für SQL-Diagnose-Manager

Die SQL-Diagnose-Manager ist eines der besten verfügbaren Tools zur Datenbanküberwachung. Aber wenn man es mit dem ergänzt SQL-Abfragetuner, erhalten Sie eines der besten Tools zur Optimierung von SQL-Abfragen. Seine Vorteile sind vielfältig. Es identifiziert problematische SQL-Abfragen über das Datenbankprofiling der Wartezeitanalyse. Es kann Ihnen auch automatisch generierte Optimierungsempfehlungen mit dem SQL-Abfrage-Optimierungsassistenten geben. Das Tool überprüft die Leistung von SQL-Abfragen durch Lasttests in simulierten Produktionsumgebungen.

Die SQL-Abfrage-Tuner erkennt schnell und einfach SQL-Abfragen, die eine schlechte Datenbankleistung verursachen, über Datenbankprofilierung und zeigt eine grafische Visualisierung der Wartezeitanalyse an. Es überwacht eine gesamte Datenquelle innerhalb eines konfigurierbaren Zeitraums mit kontinuierlicher Profilerstellung. Als Ergebnis erhalten Sie ein besseres Verständnis dafür, wie SQL Server SQL-Abfragen ausführen möchte, und die verschiedenen Leistungskosten.

Screenshot des SQL-Abfrage-Tuners

Dieses Tool präsentiert automatisch generierte Lösungsvorschläge mit dem SQL-Abfrageoptimierungsassistenten, die einen wesentlichen Kontext für die Optimierung von SQL-Abfragen bieten. Es bietet eine farbcodierte Indexanalyse verwendeter, nicht verwendeter und fehlender 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 SQL-Abfrage-Rewrites und Hint-Injections einschließen.

Die SQL-Abfrage-Tuner bietet einzigartige visuelle SQL-Abfrage-Tuning-Diagramme, mit denen Sie die Auswirkungen von SQL-Anweisungen auf die Datenbank anhand der Diagramme anstelle von komplizierten Ausführungsplänen verstehen können. Indizes und Einschränkungen für Tabellen und Ansichten werden mit Tabellenstatistiken und den in einer SQL verwendeten Joins angezeigt -Anweisung (wie kartesische Verknüpfungen, implizite kartesische Verknüpfungen und Viele-zu-Viele-Beziehungen) mit dem Diagramme.

Überprüfen Sie die Leistung vorhandener und alternativer SQL-Abfragen in Bezug auf die Datenbank durch Lasttests. Konfigurieren Sie SQL-Abfragen so, dass sie mehrmals parallel ausgeführt werden und beobachten Sie, wie sie auf simulierte Produktionsumgebungen reagieren, ohne das Risiko eines tatsächlichen Testens in der Produktion. Mit diesem Tool können Sie leistungsschwache SQL-Abfragen für SQL Server über eine intuitive Benutzeroberfläche optimieren.

Die SQL-Abfrage-Tuner ist ein Add-on zum SQL-Diagnose-Manager. Wenn Sie dieses Produkt noch nicht besitzen, können Sie beide zusammen als SQL-Diagnosemanager Pro Für 156 USD pro Lizenz ist auch eine kostenlose 14-tägige Testversion ohne Kreditkarte beim Hersteller des Produkts erhältlich

3. SQL Server Management Studio

Wenn Ihr Datenbankserver ein Microsoft SQL Server ist, vielleicht ein eigenes 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 Tools, die mit Objekten und Funktionen des Servers arbeiten. Was Sie vielleicht nicht wissen, ist, dass eines der Tools von SSMS, das SQL Server-Datenbankmodul-Optimierungsratgeber (DTA) kann für die Optimierung von SQL-Abfragen verwendet werden.

Screenshot von SQL Server Management Studio

Der Hauptzweck der DTA ist die Analyse von Datenbanken und die Abgabe von Empfehlungen. Laut der offiziellen Dokumentation von Microsoft kann das Tool Ihnen helfen, die Leistung einer bestimmten Problemabfrage zu beheben und eine große Abfragen über eine oder mehrere Datenbanken hinweg, eine explorative Was-wäre-wenn-Analyse potenzieller physischer Designänderungen durchführen und den Speicher verwalten Platz.

Eines der besten Dinge an 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 auf dem Markt, aber angesichts seines Preises könnte es einen Blick wert sein.

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 zu erhalten. Datenbankunterstützung in EverSQL ist etwas eingeschränkt. Es unterstützt jedoch die gängigsten kostenpflichtigen und kostenlosen und Open-Source-Datenbank-Engines, einschließlich MSSQL, Oracle, MySQL, MariaDB und PerconaDB. Da dies ein Offline-Tool ist, das keine Verbindung zu Ihrer Datenbank hat, könnte es theoretisch optimiert werden und SQL-Abfrage, aber es wird eine bessere Arbeit leisten, wenn es weiß, welche Art von Datenbank-Engine das optimierte verarbeitet Anfrage.

EverSQL-Screenshot

Die Verwendung des Tools ist super 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 die Anwendung 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 zusammen mit einigen Indexierungsempfehlungen.

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 Statements und einen Query Formatter.

Die Preisstruktur von EverSQL Ist einfach. Sie haben die Wahl zwischen einem kostenlosen Plan, der Ihnen 30 Tage lang eine kostenlose Abfrageoptimierung pro Tag bietet. Dies ist der Versuchsplan. Als nächstes haben Sie den Basic-Plan für 29 USD/Monat, der 10 monatliche Optimierungen umfasst, und den Plus-Plan für 135 USD/Monat mit 30 Optimierungen pro Monat und Live-Chat-Support. Es können auch individuelle Pläne zusammengestellt werden, um Ihre spezifischen Bedürfnisse zu erfüllen.

5. SentryOne-Plan-Explorer

Plan-Explorer ist ein kostenloses Tool von SentryOne. Es ist eines der besten Tools zur Analyse und Optimierung von SQL-Abfragen. Dieses Tool kann Ihnen helfen, die schwierigsten SQL Server-Abfrageprobleme schnell an die Wurzel zu packen. Es besteht aus mehreren Modulen. Die Indexanalyse verwendet Bewertungsalgorithmen, um Ihnen zu helfen, den besten Index zur Unterstützung einer bestimmten Abfrage zu ermitteln. Sie können empfohlene Indizes problemlos anzeigen, Indizes erstellen und ändern sowie alte Statistiken erkennen und aktualisieren.

Das Statistikanalysemodul zeigt Ihnen die Auswirkung von kompilierten und Laufzeitabfrageparametern auf die Leistung. Auf diese Weise können Sie Datenverzerrungen, die zu Problemen beim Parameter-Sniffing beitragen können, schnell erkennen, potenzielle aufsteigende Schlüsselprobleme visualisieren und Möglichkeiten für gefilterte Indizes identifizieren.

Screenshot des Plan-Explorers

Das Modul Query Performance Profiling and Playback gibt Abfragen wieder und greift auf ihre Live-Leistungsstatistiken 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 die Kostendifferenz sehen, indem Sie die Ansicht zwischen Geschätzt und Ist umschalten. Dieses kostenlose Tool bietet mehr Funktionen, als wir Zeit haben, sie zu präsentieren. Da es sich jedoch um ein kostenloses Tool handelt, möchten Sie es vielleicht ausprobieren und sich selbst davon überzeugen.

6. dbForge Studio für SQL Server

Devart'S dbForge Studio für SQL-Server ist ein All-in-One-SQL-Server-GUI-Tool, das für die Verwaltung, Verwaltung, Entwicklung, Datenberichterstattung, Analyse, Optimierung und mehr von SQL Server verwendet werden kann. SQL-Entwickler und Datenbankadministratoren können das GUI-Tool verwenden, um fast alle komplexen Datenbankaufgaben wie das Entwerfen zu beschleunigen Datenbanken, SQL-Code schreiben, Datenbanken vergleichen, Schemata und Daten synchronisieren, aussagekräftige Testdaten generieren u.

Übersicht über die Administration von dbForge Studio für SQL Server

dbForge Studio für SQL-Server beinhaltet die SQL-Abfrageplantool, ein dediziertes Tool zur Abfrageoptimierung. Die Funktion "Ausführungsplandiagramm" hilft bei der Visualisierung und Optimierung des Abfrageausführungsplans, indem die langsam ausgeführten Knoten genau lokalisiert werden. Auf der Registerkarte Wartestatistik des Tools können Sie potenzielle Engpässe in Ihrer Abfrage leicht erkennen, indem Sie eine Liste von Ereignissen und damit verbundenen Wartezeiten anzeigen. Sie können auch die Planstruktur des Tools verwenden, um Informationen darüber zu erhalten, wie der SQL Server eine SELECT-Anweisung ausführt. Es zeigt Ihnen, wo beispielsweise das Hinzufügen eines Index zu einer Tabelle oder das Optimieren des Tabellenverknüpfens die Leistung steigern kann.

Das Werkzeug, das auch als. bekannt ist T-SQL-Abfrageprofiler, ist in die Standard-, Profesional- und Enterprise-Versionen von dbForge Studio für SQL Server integriert, die jeweils 249,95 US-Dollar, 499,95 US-Dollar und 699,95 US-Dollar kosten. Eine kostenlose 30-Tage-Testversion des gesamten Produkts – nicht nur des Abfrageoptimierungstools – ist verfügbar.

watch instagram story