HOW TO

Festlegen eines SQL-Hints als Anweisung für den Oracle-Optimierer bei der Auswahl eines Ausführungsplans

Last Published: May 7, 2021

Zusammenfassung

Ein Oracle-Hint dient dem Optimierer als Richtlinie bei der Auswahl eines Ausführungsplans für die auszuführende SQL-Anweisung.

Der Oracle-INDEX-Hint weist den Optimierer an, für die angegebene Tabelle einen Index-Scan zu verwenden. Verwenden Sie den INDEX-Hint für funktionsbasierte Indizes, Domänen-, B-Baum-, Bitmap- und Bitmap-Verbindungs-Indizes.

Geben Sie beim Arbeiten mit Tabellen, die ST_Geometry-Attribute und einen st_spatial_index enthalten, den Oracle-INDEX-Hint und den Namen des st_spatial_index an, um den Optimierer anzuweisen, über den Index auf die Daten zuzugreifen.

Laut der SQL-Referenzdokumentation von Oracle ("If the INDEX hint specifies a single available index, then the database performs a scan on this index. The optimizer does not consider a full table scan or a scan of another index on the table.") verwendet der Optimierer den Index als primären Zugriffspfad, wenn ein INDEX-Hint angegeben ist.

Hinweis: Der Optimierer in Oracle 12c kann diese Art von Hint außer Kraft setzen.

Vorgehensweise

Im folgenden Beispiel wird eine SQL-Anweisung gezeigt, mit der die Tabelle "parcels" mit zwei Prädikatfiltern abgefragt wird. Dabei entspricht "owner" dem Wert "ARATA", und der Envelope überschneidet sich mit einem bestimmten Bereich.

Die Tabelle "parcels" verfügt über einen Index für das Shape und Besitzerattribute. Durch die Aufnahme des INDEX-Hints "/*+ INDEX (parcels shape_idx) */"
in die SQL-Anweisung wird der Optimierer angewiesen, den Index des Shape als Zugriffspfad zu verwenden (auch wenn die Selektivität und die Kosten des "owner"-Index geringer sind als die Kosten der Verwendung des Shape-Index).

SQL> SELECT /*+ INDEX (parcels shape_idx) */ 2 FROM parcels 3 WHERE owner = 'ARATA' 4 AND st_envintersects(shape, 10, 12, 12, 14) = 1;

Weitere Informationen zum Festlegen von Oracle-Hints und anderen Hints finden Sie in der Dokumentation von Oracle.

Artikel-ID:000009658

Hilfe von ArcGIS-Expert*innen erhalten

Technischen Support kontaktieren

Die Esri Support-App herunterladen

Zu den Download-Optionen

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden