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 » Mit Datenbankobjekten arbeiten » Mit Indizes arbeiten

 

Index-Hints

Sie können Index-Hints angeben, wenn Sie eine Abfrage erstellen. Index-Hints heben die Auswahl des Optimierers für einen Abfragezugriffsplan auf, indem sie die Verwendung eines bestimmten Indexes bzw. von Indizes erzwingen. Index-Hints werden üblicherweise nur bei der Einschätzung der Planauswahl des Optimierers verwendet und sollten nur von erfahrenen Benutzern oder Datenbankadministratoren eingesetzt werden. Eine fehlerhafte Anwendung von Index-Hints kann zu einer schlechten Abfrageperformance führen.

Sie geben Index-Hints an, indem Sie Unterklauseln der FROM-Klausel verwenden. Die INDEX-Klausel beispielsweise ermöglicht es, bis zu vier Indizes anzugeben. Der Optimierer muss in der Lage sein, alle angegebenen Indizes zu verwenden. Anderenfalls wird ein Fehler gemeldet.

Geben Sie NO INDEX an, um die Verwendung von Indizes bei der Abfrage zu deaktivieren und stattdessen einen sequenziellen Scan der Tabelle zu erzwingen. Sequenzielle Scans sind allerdings sehr kostenträchtig und brauchen länger für die Ausführung. Verwenden Sie diese Klausel nur für Vergleichszwecke, wenn Sie die Index-Auswahl des Optimierers evaluieren.

Wenn eine Abfrage erfüllt werden kann, indem nur Index-Daten verwendet werden (d.h. ohne auf Zeilen in der Tabelle zugreifen zu müssen), führt der Datenbankserver standardmäßig einen reinen Indexabruf durch. Allerdings kann es sinnvoll sein, INDEX ONLY ON anzugeben, damit ein Fehler gemeldet wird, wenn die Indizes nicht mehr für reine Indexabrufe verwendet werden können (z.B. weil sie geändert oder gelöscht wurden).

Weitere Hinweise zu Index-Hints-Klauseln, die Sie in der FROM-Klausel angeben können, finden Sie unter FROM-Klausel.