[
https://issues.apache.org/jira/browse/TAJO-838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14242730#comment-14242730
]
ASF GitHub Bot commented on TAJO-838:
-------------------------------------
Github user jihoonson commented on a diff in the pull request:
https://github.com/apache/tajo/pull/231#discussion_r21685588
--- Diff:
tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/FilterPushDownRule.java
---
@@ -901,6 +942,49 @@ public LogicalNode visitScan(FilterPushDownContext
context, LogicalPlan plan,
return scanNode;
}
+ private static class Predicate {
--- End diff --
Yes, it has a subset feature of EvalNode.
Given a conjunctive form of query predicates, we need to disjoint them to
find an alternative access path using a proper index; first, we find a proper
index with the columns involved in predicates. After that, we estimate the
selectivity of those predicates.
As you know, the graph of EvalNodes can represent complex and conjunctive
predicates. So, in order to find the index scan path, we need to decompose the
EvalNode graph into the several disjoint predicates.
Currently, the BST index supports only the equality predicate, I used
Predicate and SimplePredicate classes as a temporal solution to represent a
simple predicate which has a form of 'column = value' or 'value = column'.
However, we need to devise a better representation for other types of
predicates such as range predicate.
> Improve query planner to utilize index
> --------------------------------------
>
> Key: TAJO-838
> URL: https://issues.apache.org/jira/browse/TAJO-838
> Project: Tajo
> Issue Type: Sub-task
> Components: planner/optimizer
> Reporter: Jihoon Son
> Assignee: Jihoon Son
> Priority: Minor
>
> Index can improve the query performance when the selectivity of query is high.
> Thus, query planner should decide whether index is used or not for a given
> query.
> The selectivity can be guessed using statistics.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)