Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfrage und Änderung von Daten » Abfragen

 

Fortgeschrittene Aufgaben: Abfrageoptimierung

Die Optimierung ist entscheidend für das Erstellen eines geeigneten Zugriffsplans für eine Abfrage. Der Abfrageoptimierer (oder einfach der Optimierer) analysiert die Abfrage und entscheidet sich für einen Zugriffsplan, der das Ergebnis mit möglichst geringem Ressourcenverbrauch berechnet. Die Optimierung beginnt direkt vor der Ausführung. Wenn Sie in Ihrer Anwendung Cursor verwenden, beginnt die Optimierung, wenn der Cursor geöffnet wird.

Anders als viele andere kommerzielle Datenbanksysteme optimiert SQL Anywhere normalerweise jede Anweisung kurz vor der Ausführung. Da SQL Anywhere eine "just-in-time"-Optimierung der einzelnen Anweisungen durchführt, hat der Optimierer Zugriff auf die Werte von Hostvariablen und Variablen der gespeicherten Prozeduren, wodurch Analysen der Selektivitätsschätzung verbessert werden können. Außerdem ermöglicht es die "just-in-time"-Optimierung dem Optimierer, seine Auswahl aufgrund der Statistiken anzupassen, die nach vorherigen Abfrageausführungen gespeichert wurden.

Um effizient zu arbeiten, schreibt SQL Anywhere Ihre Abfragen in semantisch äquivalente, aber syntaktisch unterschiedliche Formen um. SQL Anywhere führt viele unterschiedliche Neuschreibungsvorgänge durch. Wenn Sie die Zugriffspläne studieren, werden Sie häufig feststellen, dass sie keine wörtliche Interpretation Ihrer ursprünglichen Anweisung darstellen. Um beispielsweise Ihre SQL-Anweisungen effizienter zu gestalten, versucht der Optimierer, so weit es geht Unterabfragen mit Joins umzuschreiben.

Weitere Hinweise zur Abfrageverarbeitung in SQL Anywhere finden Sie im Whitepaper "Query Processing Based on SQL Anywhere 12.0.1 Architecture" unter [external link] http://www.sybase.com/detail?id=1096047.


So funktioniert der Optimierer
Optimierungen während der Abfrageverarbeitung