| getLogicalPlan(TableIf, UnboundRelation, List, CascadesContext) |  | 0% |  | 0% | 32 | 32 | 117 | 117 | 1 | 1 |
| makeOlapScan(TableIf, UnboundRelation, List, CascadesContext) |  | 0% |  | 0% | 11 | 11 | 31 | 31 | 1 | 1 |
| preAggForRandomDistribution(LogicalOlapScan) |  | 0% |  | 0% | 8 | 8 | 30 | 30 | 1 | 1 |
| bindWithCurrentDb(CascadesContext, UnboundRelation) |  | 0% |  | 0% | 5 | 5 | 22 | 22 | 1 | 1 |
| generateAggFunction(SlotReference, Column) |  | 0% |  | 0% | 9 | 9 | 17 | 17 | 1 | 1 |
| parseAndAnalyzeView(TableIf, String, CascadesContext) |  | 0% |  | 0% | 4 | 4 | 21 | 21 | 1 | 1 |
| checkAndAddDeleteSignFilter(LogicalOlapScan, ConnectContext, OlapTable) |  | 0% |  | 0% | 8 | 8 | 14 | 14 | 1 | 1 |
| parseAndAnalyzeDorisView(View, List, CascadesContext) |  | 0% |  | 0% | 2 | 2 | 10 | 10 | 1 | 1 |
| lambda$getPartitionIds$3(TableIf, UnboundRelation, List, String) |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 1 | 1 |
| parseAndAnalyzeExternalView(ExternalTable, String, String, String, CascadesContext) |  | 0% | | n/a | 1 | 1 | 10 | 10 | 1 | 1 |
| doBindRelation(MatchingContext) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| getPartitionIds(TableIf, UnboundRelation, List) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| needGenerateLogicalAggForRandomDistAggTable(LogicalOlapScan) |  | 0% |  | 0% | 6 | 6 | 8 | 8 | 1 | 1 |
| handleMetaTable(TableIf, UnboundRelation, List) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| bind(CascadesContext, UnboundRelation) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| lambda$build$0(MatchingContext) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| lambda$getLogicalPlan$1(CascadesContext, List, Pair) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| build() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$parseAndAnalyzeView$2(CascadesContext) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| static {...} | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| BindRelation() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |