Beim Umgang mit Inhalten über mehrere Tabellen (Regionen in Bezug auf Gemfire) auf verschiedenen Knoten in einem Cluster, welcher Operator bietet schnellere Ergebnisse.IN vs OR in OQL Pivotal Gemfire
Lasst uns sagen, denn jetzt wie folgt meiner Suche OQL-Abfrage aussieht:
select * from /content_region where content_type = 'xyz' AND (shared_with.contains('john') OR (shared_with.contains('michael') OR (shared_with.contains('peter')))
Betrachten 'shared_with' ist Liste.
Referenzen:
IN vs OR in the SQL WHERE Clause
SQL performance tuning for Oracle Many OR vs IN() [duplicate]
Dank @Wes. Ja, wir verwenden Gemfire Map-basierte Indizes und ab sofort funktioniert OR besser als IN für direkte Gleichheitsrecherchen. Und für das "enthält" -Feature unterstützt die "IN" -Klausel nicht einmal die Regex-Suche, z. '% john%', um Inhalte zu holen, die mit 'john frey', 'john geller' usw. geteilt wurden. Also gingen wir mit der OR-Klausel mit 'contains' Methode. – manoj
Sorry, mein Schlechter. 'contains()' ist hier in der Liste, so dass auch Teilsuchen mit '%' nicht unterstützt werden. – manoj