Yingyi Bu created ASTERIXDB-1772:
------------------------------------
Summary: Rewrite OR predicates to joins only when there are
available indexes
Key: ASTERIXDB-1772
URL: https://issues.apache.org/jira/browse/ASTERIXDB-1772
Project: Apache AsterixDB
Issue Type: Bug
Components: Optimizer
Reporter: Yingyi Bu
Assignee: Taewoo Kim
Reference query:
asterixdb/asterix-app/src/test/resources/optimizerts/queries/disjunction-to-join-delete-3.aql
For the query, there is no available index for the OR predicate, but the
optimizer still rewrites it to use a join, which is not efficient.
Currently, the index selection rules cannot handle OR predicates, instead, OR
predicates are first rewritten to joins by DisjunctivePredicateToJoinRule and
then rewritten to index joins.
The right approach would be to let index selection rules handle OR predicates
properly and doesn't regress the performance for the case that there is no
index available.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)