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)

Reply via email to