Beschleunigen von Punktsuchabfragen mit der Suchoptimierung¶
Punktsuchabfragen (Point Lookup) sind Abfragen, von denen erwartet wird, dass sie nur eine geringe Anzahl von Zeilen zurückgeben. Der Suchoptimierungsdienst kann die Leistung von Punktsuchabfragen verbessern, die Folgendes verwenden:
Gleichheitsprädikate (zum Beispiel
column_name = constant
).
Die folgenden Abschnitte enthalten weitere Informationen zur Suchoptimierung für Punktabfragen:
Aktivieren der Suchoptimierung für Punktsuchabfragen¶
Punkt-Lookup-Abfragen werden nur verbessert, wenn Sie die Suchoptimierung für die Spalten aktivieren, auf die sich das Prädikat der Abfrage bezieht. Um die Leistung von Punktabfragen in einer Tabelle zu verbessern, verwenden Sie Befehl ALTER TABLE … ADD SEARCH OPTIMIZATION, um:
Aktivieren Sie die Suchoptimierung für bestimmte Spalten.
Aktivieren Sie die Suchoptimierung für alle Spalten der Tabelle.
Im Allgemeinen ist es eine bewährte Praxis, die Suchoptimierung nur für bestimmte Spalten zu aktivieren. Verwenden Sie die ON EQUALITY-Klausel, um die Spalten anzugeben. Dieses Beispiel ermöglicht die Suchoptimierung für eine bestimmte Spalte:
ALTER TABLE mytable ADD SEARCH OPTIMIZATION ON EQUALITY(mycol);
So geben Sie EQUALITY für alle Spalten der unterstützten Datentypen an (außer für halbstrukturierte und GEOGRAPHY):
ALTER TABLE mytable ADD SEARCH OPTIMIZATION;
Weitere Informationen dazu finden Sie unter Aktivieren und Deaktivieren der Suchoptimierung.
Beispiele für unterstützte Punktsuchabfragen¶
Der Suchoptimierungsdienst kann die Leistung der folgenden Abfrage verbessern, die ein Gleichheitsprädikat verwendet:
SELECT * FROM test_table WHERE id = 3;
Die IN-Klausel wird vom Suchoptimierungsdienst unterstützt:
SELECT id, c1, c2, c3
FROM test_table
WHERE id IN (2, 3)
ORDER BY id;