Verwenden von Konjunktionen (AND) und Disjunktionen (OR) bei der Suchoptimierung¶
Die Suchoptimierung kann Abfragen beschleunigen, bei denen Konjunktionen (AND-Operator) und Disjunktionen (OR-Operator) der unterstützten Prädikate verwendet werden.
Konjunktionen von unterstützten Prädikaten (AND)¶
Bei Abfragen, die Konjunktionen von Prädikaten (d. h. AND) verwenden, kann die Abfrageleistung durch die Suchoptimierung verbessert werden, wenn eines der Prädikate davon profitieren würde.
Angenommen, eine Abfrage ist wie folgt definiert:
where condition_x and condition_y
Die Suchoptimierung kann die Leistung verbessern, wenn eine der Bedingungen einige Zeilen separat zurückgibt (d. h. condition_x
gibt einige Zeilen zurück oder condition_y
gibt einige Zeilen zurück).
Wenn condition_x
einige Zeilen zurückgibt, aber condition_y
viele Zeilen zurückgibt, kann die Abfrageleistung von der Suchoptimierung profitieren.
Beispiele¶
Wenn einzelne Prädikate vom Suchoptimierungsdienst unterstützt werden, können sie mit der Konjunktion AND
verknüpft werden und werden dennoch vom Suchoptimierungsdienst unterstützt:
select id, c1, c2, c3
from test_table
where c1 = 1
and
c3 = TO_DATE('2004-03-09')
order by id;
DELETE und UPDATE (und MERGE) sind ebenfalls mit dem Suchoptimierungsdienst kompatibel:
delete from test_table where id = 3;
update test_table set c1 = 99 where id = 4;
Disjunktionen von unterstützten Prädikaten (OR)¶
Bei Abfragen, die Disjunktionen von Prädikaten (d. h. OR) verwenden, kann die Abfrageleistung durch die Suchoptimierung verbessert werden, wenn alle Prädikate davon profitieren würden.
Angenommen, eine Abfrage ist wie folgt definiert:
where condition_x or condition_y
Die Suchoptimierung kann die Leistung verbessern, wenn jede Bedingung separat einige Zeilen zurückgibt (d. h. condition_x
gibt einige Zeilen zurück und condition_y
gibt einige Zeilen zurück).
Wenn condition_x
einige Zeilen zurückgibt, aber condition_y
viele Zeilen zurückgibt, profitiert die Abfrageleistung nicht von der Suchoptimierung.
Bei Disjunktionen ist jedes isolierte Prädikat für sich nicht entscheidend für die Abfrage. Alle Prädikate müssen ausgewertet werden, um festzustellen, ob eine Suchoptimierung die Leistung verbessern kann.