[
https://issues.apache.org/jira/browse/CALCITE-1933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16120061#comment-16120061
]
Julian Hyde commented on CALCITE-1933:
--------------------------------------
Why are you providing it via Schema? I think this should be a new kind of
planner metadata, via RelMetadataQuery. There is already a mechanism to add
providers.
> 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)