explain costs 的输出
±---------------------------------------------------------------------------------------------------------------------------+
| Explain String |
±---------------------------------------------------------------------------------------------------------------------------+
| PLAN FRAGMENT 0(F06) |
| Output Exprs:8: product_id | 19: big_label | 38: sum |
| Input Partition: UNPARTITIONED |
| RESULT SINK |
| |
| 15:MERGING-EXCHANGE |
| limit: 50 |
| cardinality: 0 |
| column statistics: |
| * product_id–>[-Infinity, Infinity, 0.0, 0.0, 81963.0] ESTIMATE |
| * big_label–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| * sum–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| |
| PLAN FRAGMENT 1(F05) |
| |
| Input Partition: HASH_PARTITIONED: 8: product_id, 19: big_label |
| OutPut Partition: UNPARTITIONED |
| OutPut Exchange Id: 15 |
| |
| 14:TOP-N |
| | order by: [38, BIGINT, true] DESC |
| | offset: 0 |
| | limit: 50 |
| | cardinality: 0 |
| | column statistics: |
| | * product_id–>[-Infinity, Infinity, 0.0, 0.0, 81963.0] ESTIMATE |
| | * big_label–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | * sum–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | |
| 13:AGGREGATE (merge finalize) |
| | aggregate: sum[([38: sum, BIGINT, true]); args: BIGINT; result: BIGINT; args nullable: true; result nullable: true] |
| | group by: [8: product_id, VARCHAR(64), true], [19: big_label, VARCHAR, false] |
| | cardinality: 0 |
| | column statistics: |
| | * product_id–>[-Infinity, Infinity, 0.0, 0.0, 81963.0] ESTIMATE |
| | * big_label–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | * sum–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | |
| 12:EXCHANGE |
| cardinality: 0 |
| |
| PLAN FRAGMENT 2(F00) |
| |
| Input Partition: RANDOM |
| OutPut Partition: HASH_PARTITIONED: 8: product_id, 19: big_label |
| OutPut Exchange Id: 12 |
| |
| 11:AGGREGATE (update serialize) |
| | STREAMING |
| | aggregate: sum[([9: volume, BIGINT, true]); args: BIGINT; result: BIGINT; args nullable: true; result nullable: true] |
| | group by: [8: product_id, VARCHAR(64), true], [19: big_label, VARCHAR, false] |
| | cardinality: 0 |
| | column statistics: |
| | * product_id–>[-Infinity, Infinity, 0.0, 0.0, 81963.0] ESTIMATE |
| | * big_label–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | * sum–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | |
| 10:Project |
| | output columns: |
| | 8 <-> [8: product_id, VARCHAR(64), true] |
| | 9 <-> [9: volume, BIGINT, true] |
| | 19 <-> [19: big_label, VARCHAR, false] |
| | cardinality: 0 |
| | column statistics: |
| | * product_id–>[-Infinity, Infinity, 0.0, 0.0, 81963.0] ESTIMATE |
| | * volume–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | * big_label–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | |
| 9:HASH JOIN |
| | join op: INNER JOIN (BROADCAST) |
| | equal join conjunct: [17: pid, VARCHAR, false] = [8: product_id, VARCHAR(64), true] |
| | build runtime filters: |
| | - filter_id = 0, build_expr = (8: product_id), remote = false |
| | cardinality: 0 |
| | column statistics: |
| | * product_id–>[-Infinity, Infinity, 0.0, 0.0, 81963.0] ESTIMATE |
| | * volume–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | * pid–>[-Infinity, Infinity, 0.0, 18.500405, 7.314E8] ESTIMATE |
| | * big_label–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | |
| |----8:EXCHANGE |
| | cardinality: 0 |
| | |
| 0:OlapScanNode |
| table: table1, rollup: table1 |
| preAggregation: off. Reason: Has can not pre-aggregation Join |
| Predicates: [19: big_label, VARCHAR, false] = ‘日用百货’ |
| partitionsRatio=1/1, tabletsRatio=24/24 |
| tabletList=63332,63336,63340,63344,63348,63352,63356,63360,63364,63368 … |
| actualRows=618761576, avgRowSize=19.500404 |
| cardinality: 827764925 |
| probe runtime filters: |
| - filter_id = 0, probe_expr = (17: pid) |
| column statistics: |
| * pid–>[-Infinity, Infinity, 0.0, 18.500405, 7.314E8] ESTIMATE |
| * big_label–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| |
| PLAN FRAGMENT 3(F01) |
| |
| Input Partition: RANDOM |
| OutPut Partition: UNPARTITIONED |
| OutPut Exchange Id: 08 |
| |
| 1:UNION |
| | child exprs: |
| | [4, VARCHAR, true] | [5, BIGINT, true] |
| | [13, VARCHAR, true] | [14, BIGINT, true] |
| | pass-through-operands: all |
| | cardinality: 0 |
| | column statistics: |
| | * product_id–>[-Infinity, Infinity, 0.0, 0.0, 81963.0] ESTIMATE |
| | * volume–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | |
| |----7:EXCHANGE |
| | cardinality: 0 |
| | |
| 4:EXCHANGE |
| cardinality: 0 |
| |
| PLAN FRAGMENT 4(F03) |
| |
| Input Partition: RANDOM |
| OutPut Partition: RANDOM |
| OutPut Exchange Id: 07 |
| |
| 6:Project |
| | output columns: |
| | 13 <-> [13: product_id, VARCHAR, true] |
| | 14 <-> [14: volume, BIGINT, true] |
| | cardinality: 0 |
| | column statistics: |
| | * product_id–>[-Infinity, Infinity, 0.0, 14.99904, 81963.0] ESTIMATE |
| | * volume–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | |
| 5:OlapScanNode |
| table: table2, rollup: table2 |
| preAggregation: off. Reason: Group columns isn’t bound table table2 |
| Predicates: [10: date, DATE, false] >= ‘2022-03-10’, [10: date, DATE, false] <= ‘2022-03-25’ |
| partitionsRatio=1/1, tabletsRatio=24/24 |
| tabletList=64551,64555,64559,64563,64567,64571,64575,64579,64583,64587 … |
| actualRows=2071854878, avgRowSize=19.99904 |
| cardinality: 0 |
| column statistics: |
| * date–>[-Infinity, 1.6481376E9, 0.0, 4.0, 2.0] ESTIMATE |
| * product_id–>[-Infinity, Infinity, 0.0, 14.99904, 81963.0] ESTIMATE |
| * volume–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| |
| PLAN FRAGMENT 5(F02) |
| |
| Input Partition: RANDOM |
| OutPut Partition: RANDOM |
| OutPut Exchange Id: 04 |
| |
| 3:Project |
| | output columns: |
| | 4 <-> [4: product_id, VARCHAR, true] |
| | 5 <-> [5: volume, BIGINT, true] |
| | cardinality: 0 |
| | column statistics: |
| | * product_id–>[-Infinity, Infinity, 0.0, 17.49028, 59875.0] ESTIMATE |
| | * volume–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
| | |
| 2:OlapScanNode |
| table: table1, rollup: table1 |
| preAggregation: off. Reason: Group columns isn’t bound table table1 |
| Predicates: [1: date, DATE, false] >= ‘2022-03-10’, [1: date, DATE, false] <= ‘2022-03-25’ |
| partitionsRatio=1/1, tabletsRatio=24/24 |
| tabletList=64452,64456,64460,64464,64468,64472,64476,64480,64484,64488 … |
| actualRows=2776807009, avgRowSize=22.49028 |
| cardinality: 0 |
| column statistics: |
| * date–>[-Infinity, 1.6481376E9, 0.0, 4.0, 4.0] ESTIMATE |
| * product_id–>[-Infinity, Infinity, 0.0, 17.49028, 59875.0] ESTIMATE |
| * volume–>[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN |
±---------------------------------------------------------------------------------------------------------------------------+
174 rows in set (0.00 sec)