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.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |