Ted Xu created CALCITE-1933: ------------------------------- Summary: Cost estimation for expression evaluate Key: CALCITE-1933 URL: https://issues.apache.org/jira/browse/CALCITE-1933 Project: Calcite Issue Type: New Feature Reporter: Ted Xu Assignee: Julian Hyde
Expression evaluate performance is different one to another based on its operator type and underlying execution engine. For example, a regex pattern matching (e.g., col like 'foo%bar%') may requires 100 times more cost compares to a simple comparison (e.g., col > 3). Currently we don't have this kind of differentiation. Expression cost will grant following applications: 1. Improved predicate push down: predicates can be pushed down to the right position based on row count and its own cost. 2. Predicate ordering rule: predicate with different order, e.g., {code:sql} col1 like 'foo%bar%' and col2 > 3 col2 > 3 and col1 like 'foo%bar%' {code} may have different performance, introducing a predicate ordering rule will help find a better one. The cost of each RexCall / RexAggCall is provided by Schema, stored in an external metadata service. -- This message was sent by Atlassian JIRA (v6.4.14#64029)