Nice idea! Our evaluation of non-subquery IN predicates employs the hash approach, it would be much faster.
To do such work, you may need to create a new logical plan rewriter. We have a plan rewriting system which consists of LogicalOptimizer, LogicalPlanRewriteRule, and LogicalPlanRewriteRuleProvider. LogicalOptimizer optimizes the initial query plan according to the rewrite rules provided by LogicalPlanRewriteRuleProvider. We currently have three LogicalPlanRewriteRules of FilterPushDownRule, ProjectionPushDownRule, and PartitionedTableRewriter. After https://issues.apache.org/jira/browse/TAJO-680, InSubqueryRewriteRule will be added for in-subquery rewriting. If you want to start this work, these will be good examples. As always, please feel free to ask any questions If you have. Best regards, Jihoon 2015년 7월 16일 (목) 오전 2:37, Atri Sharma <[email protected]>님이 작성: > Hi, > > For cases like WHERE col1=val1 OR col1=val2 OR col1=val3 OR col1=val4 OR > col1=val5 where val1,val2,val3,val4,val5 are constants, do we do any > optimizations? I can imagine conversion to IN(val1,val2,val3,val4,val5) > which will be more optimized. > > -- > Regards, > > Atri > *l'apprenant* >
