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).

  • Prädikate, die IN verwenden (siehe Beispiel).

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);
Copy

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;
Copy

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;
Copy

Die IN-Klausel wird vom Suchoptimierungsdienst unterstützt:

SELECT id, c1, c2, c3
  FROM test_table
  WHERE id IN (2, 3)
  ORDER BY id;
Copy