| DB Optimizer XE - Häufig gestellte Fragen |
|
F: Was ist DB Optimizer XE?
A: Embarcadero DB Optimizer XE ist eine SQL-IDE zur Profilerstellung und Optimierung, die die Performance von Datenbanken und Anwendungen maximiert. DBAs und Entwickler können damit auf rasche Weise ineffizienten SQL-Code ermitteln, bewerten und optimieren. DB Optimizer XE beseitigt Performance-Engpässe durch Identifizierung von datenintensiven oder häufig ausgeführten Abfragen, fokussiert auf durch Abfragestatistiken (CPU, E/A, Wartezeiten) ermittelte SQL-Anweisungen sowie auf die Optimierung problematischer Anweisungen.
F: Was ist der Unterschied zwischen Profilerstellung und Optimierung?
A: Die Profilerstellung (das so genannte "Profiling") besteht in der Auswertung einer einzigen SQL-Anweisung oder einer gesamten Datenbank, um festzustellen, welche Abfragen für eine Verbesserung in Frage kommen. In bestimmten Fällen kann es sich dabei um Abfragen mit langer Ausführungszeit handeln, in anderen Fällen stehen möglicherweise Abfragen, die wiederholt ausgeführt werden, im Fokus. Dies führt zur Frage der Optimierung.
Da es nicht sinnvoll ist, die gesamte Datenbank in einem Schritt zu optimieren, sollten zunächst durch das Profiling die Problembereiche ermittelt werden. Die dabei festgestellten suboptimalen Anweisungen lassen sich dann effizient verbessern. Die Optimierung stellt einen Prozess tatsächlich durchgeführter Änderungen dar: Überprüfung der denkbaren Alternativen (auch "Fälle" genannt), Ermittlung der Kosten jeder Änderungsoption und Anwendung der Fälle, die den optimalen Ausführungsplan bieten. DB Optimizer XE ermöglicht sowohl die Profilerstellung als auch die Optimierung für Oracle, SQL Server, DB2 LUW und Sybase in einer vollständigen SQL-IDE. DB Optimizer XE verfügt auch über die Möglichkeit einer Batch-Optimierung von DML-Anweisungen, gespeicherten Routinen und von kompletten SQL-Dateien. Dabei wird eine Reihe von Ausführungsplänen erstellt und in einer tabellarischen Ansicht dargestellt, mit detaillierten Informationen zu jedem Änderungsvorschlag. Hier kann dann auf einfache Weise der Vorschlag ausgewählt werden, der automatisch die vorhandene problematische SQL-Anweisung ersetzen soll. F: Was sind Erläuterungspläne ("Explain plans") und welche Aufgabe haben diese?
A: Mit Erläuterungsplänen ("Explain plans") kann festgestellt werden, welchen Ausführungsplan eine SQL-Anweisung tatsächlich verwendet. Damit lässt sich für den Benutzer bestimmen, ob ein bestimmter Ausführungsplan optimal ist. DB Optimizer XE stellt diese Informationen in einer Baumstruktur mit Spalten und ein-/ausblendbaren Spaltengruppen für eine detaillierte Nachverfolgung dar. Erläuterungspläne werden auf der Basis der Tabelle der Ausführungsstatistik ohne eigentliche Durchführung der Abfrage erstellt (um eventuell lange Abfragezeiten zu umgehen).
F: Kann DB Optimizer XE auch für gepackte Anwendungen mit Datenbank-Backends verwendet werden?
A: Auf jeden Fall. Dies kann auf zweifache Weise geschehen. Zum einen lässt sich mit einer Profilerstellung für den Anwendungslieferanten ermitteln, was tatsächlich das Performance-Problem verursacht. Zum anderen kann die Funktion des "gespeicherten Profils" von DB Optimizer XE genutzt werden. Nach der Durchführung der Optimierung lässt sich automatisch die DDL generieren, um das gespeicherte Profil des optimalen Ausführungsplans zu erstellen. Nachdem dieser in der Datenbank platziert ist, verfahren die SQL-Anweisungen der gepackten Anwendung nach dem optimierten Ausführungsplan.
|
