[ https://issues.apache.org/jira/browse/CALCITE-5665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated CALCITE-5665: ------------------------------------ Labels: pull-request-available (was: ) > Reducing ineffective matches for MaterializedViewRules and double calculation > for RelOptMaterialization's Metadata using cache > ------------------------------------------------------------------------------------------------------------------------------ > > Key: CALCITE-5665 > URL: https://issues.apache.org/jira/browse/CALCITE-5665 > Project: Calcite > Issue Type: Improvement > Components: core > Reporter: asdfgh19 > Priority: Minor > Labels: pull-request-available > Time Spent: 10m > Remaining Estimate: 0h > > MaterializedViewRule such as MaterializedViewOnlyFilterRule and > MaterializedViewOnlyJoinRule are easy to match, which results in multiple > executions of the MaterializedViewRule#perform method, most of which are > ineffective. Each execution of this method requires traversing the query > relational expression tree and the materialized view relational expression > tree multiple times. > For example, the > MaterializedViewRelOptRulesTest#testJoinAggregateMaterializationNoAggregateFuncs9 > method will execute this method 489 times. > There are many cases where we can pre-filter out invalid matches. For > example, all materialized views are Aggregate MV and the current rule is > MaterializedViewOnlyJoinRule. > We can also cache RelOptMaterialization Metadata to reduce repeated > calculations. -- This message was sent by Atlassian Jira (v8.20.10#820010)