HepPlanner is a rule-based planner that applies a small set of rules in a particular order to every relational expression in a tree. It is generally used for quick once-over rewrites.
VolcanoPlanner is a cost-based planner that applies all rules, generates new relational expressions, and then keeps on firing the rules until nothing else matches. It is easier to use (you don't have to specify which order the rules will be applied) but it can be expensive, especially on complex queries, because it is exhaustive. I recommend using VolcanoPlanner at first, then use a hybrid strategy when you need to deal with complex queries (e.g. queries with more than about 6 joins). I don't understand your question 2. Can you give an example of a query and the plan it produces? Julian On Thu, May 26, 2016 at 11:23 PM, Zhangrucong <[email protected]> wrote: > Hello everyone: > > Now I am learning calcite streamSQL. I have two questions. Anyone can help > me. Thanks in advance. > > The questions are following: > > 1、 what is the difference between HepPlanner and VolcanoPlanner? For > streamSQL ,which one is better? Are there have some materials to introduce > two models? > > 2、 In the logic plan tree, window is combined with aggregate node or > expression node. In which case, there is a lonely window node in logic plan?
