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

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfragen optimieren und ausführen » So funktioniert der Optimierer » Grundlegende Annahmen des Optimierers

 

Indizes können verwendet werden, um ein Prädikat zu erfüllen

SQL Anywhere kann Suchbedingungen häufig mithilfe von Indizes auswerten. Indem er einen Index verwendet, kann der Optimierer den Zugriff auf Daten beschleunigen und die Menge der aus den Basistabellen zu lesenden und zu verarbeitenden Daten verringern. Beispiel: Wenn eine Abfrage eine Suchbedingung WHERE Spaltenname=Wert enthält, und es einen Index auf der Spalte gibt, kann ein Index-Scan verwendet werden, um nur die Zeilen der Tabelle einzulesen, die die Suchbedingung erfüllen.

Auch beim Verknüpfen von Tabellen steigern Indizes die Performance dramatisch.

Wann immer es möglich ist, versucht der Optimierer, die Abfrage mithilfe eines reinen Indexabrufs auszuführen. Bei einem reinen Indexabruf verwendet der Datenbankserver nur die Daten in den Indizes, die nötig sind, um die Abfrage auszuführen; so muss er nicht auf Zeilen in der Tabelle zugreifen.

In Fällen, bei denen es keine Indizes gibt, die der Optimierer verwenden kann, wird ein sequenzieller Table-Scan durchgeführt, was kostenträchtig sein kann.

Der Optimierer wählt automatisch die Indizes aus, bei denen er festgestellt hat, dass sie die beste Performance liefern. Sie können allerdings auch Index-Hints in Ihrer Abfrage verwenden, um die Indizes festzulegen, die der Optimierer verwenden soll. Wenn einer der angegebenen Indizes nicht verwendet werden kann, wird ein Fehler zurückgegeben. Beachten Sie, dass Index-Hints zu einer Verschlechterung der Performance führen können und daher nur von erfahrenen Benutzern verwendet werden sollten. Siehe FROM-Klausel.

Verwenden Sie den Indexberater, um zu bestimmen, ob zusätzliche Indizes für Ihre Datenbank empfohlen werden. Siehe Indexberater.

 Siehe auch