[
https://issues.apache.org/jira/browse/HIVE-16757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Remus Rusanu reassigned HIVE-16757:
-----------------------------------
> Use memoization in HiveRelMdRowCount.getRowCount
> ------------------------------------------------
>
> Key: HIVE-16757
> URL: https://issues.apache.org/jira/browse/HIVE-16757
> Project: Hive
> Issue Type: Bug
> Components: Query Planning
> Reporter: Remus Rusanu
> Assignee: Remus Rusanu
>
> On complex queries HiveRelMdRowCount.getRowCount can get called many times.
> since it does not memoize its result and the call is recursive, it results in
> an explosion of calls. for example a query with 49 joins, during join
> ordering (LoptOtimizerJoinRule) the HiveRelMdRowCount.getRowCount gets called
> 6442 as a top level call, but the recursivity exploded this to 501729 calls.
> Memoization of the rezult would stop the recursion early. In my testing this
> reduced the join reordering time for said query from 11s to <1s..
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)