You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Yingyi Bu (JIRA)" <ji...@apache.org> on 2017/01/21 01:59:26 UTC
[jira] [Created] (ASTERIXDB-1772) Rewrite OR predicates to joins
only when there are available indexes
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)