Merge 'dog-cnch-dev-fix-settings' into 'cnch-dev'

fix(optimizer@m-5312566539): disable enable_expand_distinct_optimization by default

See merge request: !25689
This commit is contained in:
苟桂霖 2024-10-21 12:52:18 +00:00 committed by Fred Wang
parent b5eb293e6f
commit bc1b874dc2
14 changed files with 824 additions and 941 deletions

View File

@ -1420,7 +1420,7 @@ enum PreloadLevelSettings : UInt64
M(Bool, enable_distinct_remove, true, "Whether to eliminate redundancy during execution", 0) \
M(Bool, enable_single_distinct_to_group_by, true, "Whether enable convert single count distinct to group by", 0) \
M(Bool, enable_mark_distinct_optimzation, false, "Whether enable Mark distinct optimization", 0) \
M(Bool, enable_expand_distinct_optimization, true, "Whether enable rewrite distinct optimization", 0) \
M(Bool, enable_expand_distinct_optimization, false, "Whether enable rewrite distinct optimization", 0) \
M(ExpandMode, expand_mode, ExpandMode::EXPAND, "Rewrite distinct optimization, Expand Mode : EXPAND|UNION|CTE", 0) \
M(Bool, enable_common_predicate_rewrite, true, "Whether enable common predicate rewrite", 0) \
M(Bool, enable_common_join_predicate_rewrite, true, "Whether enable common predicate rewrite", 0) \

View File

@ -9,77 +9,68 @@ Projection Est. 1 rows
└─ Gather Exchange Est. 1 rows
└─ Aggregating Est. 1 rows
│ Group by: {}
│ Aggregates: expr#uniqExact(cs_order_number):=AggNull(countIf)(cs_order_number,group_id_mask), expr#sum(cs_ext_ship_cost):=AggNull(anyIf)(expr#sum(cs_ext_ship_cost),group_id_mask_1), expr#sum(cs_net_profit):=AggNull(anyIf)(expr#sum(cs_net_profit),group_id_mask_1)
└─ Projection Est. 21719 rows
│ Expressions: [cs_order_number, expr#sum(cs_ext_ship_cost), expr#sum(cs_net_profit)], group_id_mask:=group_id = 1, group_id_mask_1:=group_id = 0
└─ MergingAggregated Est. 21719 rows
└─ Repartition Exchange Est. 21719 rows
│ Partition by: {cs_order_number, group_id}
└─ Aggregating Est. 21719 rows
│ Group by: {cs_order_number, group_id}
│ Aggregates: expr#sum(cs_ext_ship_cost):=AggNull(sum)(cs_ext_ship_cost), expr#sum(cs_net_profit):=AggNull(sum)(cs_net_profit)
└─ Expand Est. 21719 rows
└─ Right Semi Join Est. 21719 rows
│ Condition: cs_order_number_1 == cs_order_number
│ Filter: cs_warehouse_sk != cs_warehouse_sk_1
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange Est. 143997065 rows
│ │ Partition by: {cs_order_number_1}
│ └─ Filter Est. 143997065 rows
│ │ Condition: Runtime Filters: {cs_order_number_1}
│ └─ TableScan tpcds100.catalog_sales Est. 143997065 rows
│ Where: Runtime Filters: {cs_order_number}
│ Outputs: cs_warehouse_sk_1:=cs_warehouse_sk, cs_order_number_1:=cs_order_number
└─ Repartition Exchange Est. 21719 rows
│ Partition by: {cs_order_number}
└─ Right Anti Join Est. 21719 rows
│ Condition: cr_order_number == cs_order_number
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange Est. 14404374 rows
│ │ Partition by: {cr_order_number}
│ └─ Filter Est. 14404374 rows
│ │ Condition: Runtime Filters: {cr_order_number}
│ └─ TableScan tpcds100.catalog_returns Est. 14404374 rows
│ Where: Runtime Filters: {cr_order_number}
│ Outputs: [cr_order_number]
└─ Repartition Exchange Est. 36199 rows
│ Partition by: {cs_order_number}
└─ Inner Join Est. 36199 rows
│ Condition: cs_call_center_sk == cc_call_center_sk
│ Runtime Filters Builder: {cc_call_center_sk}
├─ Inner Join Est. 217194 rows
│ │ Condition: cs_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 4406549 rows
│ │ │ Condition: cs_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 143997065 rows
│ │ │ │ Condition: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ └─ TableScan tpcds100.catalog_sales Est. 143997065 rows
│ │ │ Where: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ Outputs: [cs_ship_date_sk, cs_ship_addr_sk, cs_call_center_sk, cs_warehouse_sk, cs_order_number, cs_ext_ship_cost, cs_net_profit]
│ │ └─ Broadcast Exchange Est. 60 rows
│ │ └─ Projection Est. 60 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 60 rows
│ │ │ Condition: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ └─ TableScan tpcds100.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 49289 rows
│ └─ Projection Est. 49289 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 49289 rows
│ │ Condition: ca_state = 'GA'
│ └─ TableScan tpcds100.customer_address Est. 1000000 rows
│ Where: ca_state = 'GA'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 5 rows
└─ Projection Est. 5 rows
│ Expressions: [cc_call_center_sk]
└─ Filter Est. 5 rows
│ Condition: cc_county = 'Williamson County'
└─ TableScan tpcds100.call_center Est. 30 rows
Where: cc_county = 'Williamson County'
Outputs: [cc_call_center_sk, cc_county]
│ Aggregates: expr#uniqExact(cs_order_number):=AggNull(uniqExact)(cs_order_number), expr#sum(cs_ext_ship_cost):=AggNull(sum)(cs_ext_ship_cost), expr#sum(cs_net_profit):=AggNull(sum)(cs_net_profit)
└─ Right Semi Join Est. 21719 rows
│ Condition: cs_order_number_1 == cs_order_number
│ Filter: cs_warehouse_sk != cs_warehouse_sk_1
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange Est. 143997065 rows
│ │ Partition by: {cs_order_number_1}
│ └─ Filter Est. 143997065 rows
│ │ Condition: Runtime Filters: {cs_order_number_1}
│ └─ TableScan tpcds100.catalog_sales Est. 143997065 rows
│ Where: Runtime Filters: {cs_order_number}
│ Outputs: cs_warehouse_sk_1:=cs_warehouse_sk, cs_order_number_1:=cs_order_number
└─ Repartition Exchange Est. 21719 rows
│ Partition by: {cs_order_number}
└─ Right Anti Join Est. 21719 rows
│ Condition: cr_order_number == cs_order_number
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange Est. 14404374 rows
│ │ Partition by: {cr_order_number}
│ └─ Filter Est. 14404374 rows
│ │ Condition: Runtime Filters: {cr_order_number}
│ └─ TableScan tpcds100.catalog_returns Est. 14404374 rows
│ Where: Runtime Filters: {cr_order_number}
│ Outputs: [cr_order_number]
└─ Repartition Exchange Est. 36199 rows
│ Partition by: {cs_order_number}
└─ Inner Join Est. 36199 rows
│ Condition: cs_call_center_sk == cc_call_center_sk
│ Runtime Filters Builder: {cc_call_center_sk}
├─ Inner Join Est. 217194 rows
│ │ Condition: cs_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 4406549 rows
│ │ │ Condition: cs_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 143997065 rows
│ │ │ │ Condition: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ └─ TableScan tpcds100.catalog_sales Est. 143997065 rows
│ │ │ Where: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ Outputs: [cs_ship_date_sk, cs_ship_addr_sk, cs_call_center_sk, cs_warehouse_sk, cs_order_number, cs_ext_ship_cost, cs_net_profit]
│ │ └─ Broadcast Exchange Est. 60 rows
│ │ └─ Projection Est. 60 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 60 rows
│ │ │ Condition: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ └─ TableScan tpcds100.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 49289 rows
│ └─ Projection Est. 49289 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 49289 rows
│ │ Condition: ca_state = 'GA'
│ └─ TableScan tpcds100.customer_address Est. 1000000 rows
│ Where: ca_state = 'GA'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 5 rows
└─ Projection Est. 5 rows
│ Expressions: [cc_call_center_sk]
└─ Filter Est. 5 rows
│ Condition: cc_county = 'Williamson County'
└─ TableScan tpcds100.call_center Est. 30 rows
Where: cc_county = 'Williamson County'
Outputs: [cc_call_center_sk, cc_county]
note: Runtime Filter is applied for 5 times.

View File

@ -9,77 +9,68 @@ Projection Est. 1 rows
└─ Gather Exchange Est. 1 rows
└─ Aggregating Est. 1 rows
│ Group by: {}
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(countIf)(ws_order_number,group_id_mask), expr#sum(ws_ext_ship_cost):=AggNull(anyIf)(expr#sum(ws_ext_ship_cost),group_id_mask_1), expr#sum(ws_net_profit):=AggNull(anyIf)(expr#sum(ws_net_profit),group_id_mask_1)
└─ Projection Est. 3041 rows
│ Expressions: [expr#sum(ws_ext_ship_cost), expr#sum(ws_net_profit), ws_order_number], group_id_mask:=group_id = 1, group_id_mask_1:=group_id = 0
└─ MergingAggregated Est. 3041 rows
└─ Repartition Exchange Est. 3041 rows
│ Partition by: {group_id, ws_order_number}
└─ Aggregating Est. 3041 rows
│ Group by: {group_id, ws_order_number}
│ Aggregates: expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Expand Est. 3380 rows
└─ Right Semi Join Est. 3380 rows
│ Condition: ws_order_number_1 == ws_order_number
│ Filter: ws_warehouse_sk != ws_warehouse_sk_1
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange Est. 72001237 rows
│ │ Partition by: {ws_order_number_1}
│ └─ Filter Est. 72001237 rows
│ │ Condition: Runtime Filters: {ws_order_number_1}
│ └─ TableScan tpcds100.web_sales Est. 72001237 rows
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_1:=ws_warehouse_sk, ws_order_number_1:=ws_order_number
└─ Repartition Exchange Est. 3380 rows
│ Partition by: {ws_order_number}
└─ Right Anti Join Est. 3380 rows
│ Condition: wr_order_number == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange Est. 7197670 rows
│ │ Partition by: {wr_order_number}
│ └─ Filter Est. 7197670 rows
│ │ Condition: Runtime Filters: {wr_order_number}
│ └─ TableScan tpcds100.web_returns Est. 7197670 rows
│ Where: Runtime Filters: {wr_order_number}
│ Outputs: [wr_order_number]
└─ Repartition Exchange Est. 5634 rows
│ Partition by: {ws_order_number}
└─ Inner Join Est. 5634 rows
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join Est. 67612 rows
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 2145977 rows
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 72001237 rows
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds100.web_sales Est. 72001237 rows
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_warehouse_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange Est. 59 rows
│ │ └─ Projection Est. 59 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 59 rows
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds100.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 31500 rows
│ └─ Projection Est. 31500 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 31500 rows
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds100.customer_address Est. 1000000 rows
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 2 rows
└─ Projection Est. 2 rows
│ Expressions: [web_site_sk]
└─ Filter Est. 2 rows
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds100.web_site Est. 24 rows
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(uniqExact)(ws_order_number), expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Right Semi Join Est. 3380 rows
│ Condition: ws_order_number_1 == ws_order_number
│ Filter: ws_warehouse_sk != ws_warehouse_sk_1
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange Est. 72001237 rows
│ │ Partition by: {ws_order_number_1}
│ └─ Filter Est. 72001237 rows
│ │ Condition: Runtime Filters: {ws_order_number_1}
│ └─ TableScan tpcds100.web_sales Est. 72001237 rows
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_1:=ws_warehouse_sk, ws_order_number_1:=ws_order_number
└─ Repartition Exchange Est. 3380 rows
│ Partition by: {ws_order_number}
└─ Right Anti Join Est. 3380 rows
│ Condition: wr_order_number == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange Est. 7197670 rows
│ │ Partition by: {wr_order_number}
│ └─ Filter Est. 7197670 rows
│ │ Condition: Runtime Filters: {wr_order_number}
│ └─ TableScan tpcds100.web_returns Est. 7197670 rows
│ Where: Runtime Filters: {wr_order_number}
│ Outputs: [wr_order_number]
└─ Repartition Exchange Est. 5634 rows
│ Partition by: {ws_order_number}
└─ Inner Join Est. 5634 rows
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join Est. 67612 rows
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 2145977 rows
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 72001237 rows
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds100.web_sales Est. 72001237 rows
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_warehouse_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange Est. 59 rows
│ │ └─ Projection Est. 59 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 59 rows
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds100.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 31500 rows
│ └─ Projection Est. 31500 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 31500 rows
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds100.customer_address Est. 1000000 rows
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 2 rows
└─ Projection Est. 2 rows
│ Expressions: [web_site_sk]
└─ Filter Est. 2 rows
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds100.web_site Est. 24 rows
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
note: Runtime Filter is applied for 5 times.

View File

@ -9,83 +9,74 @@ Projection Est. 1 rows
└─ Gather Exchange Est. 1 rows
└─ Aggregating Est. 1 rows
│ Group by: {}
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(countIf)(ws_order_number,group_id_mask), expr#sum(ws_ext_ship_cost):=AggNull(anyIf)(expr#sum(ws_ext_ship_cost),group_id_mask_1), expr#sum(ws_net_profit):=AggNull(anyIf)(expr#sum(ws_net_profit),group_id_mask_1)
└─ Projection Est. 5070 rows
│ Expressions: [expr#sum(ws_ext_ship_cost), expr#sum(ws_net_profit), ws_order_number], group_id_mask:=group_id = 1, group_id_mask_1:=group_id = 0
└─ MergingAggregated Est. 5070 rows
└─ Repartition Exchange Est. 5070 rows
│ Partition by: {group_id, ws_order_number}
└─ Aggregating Est. 5070 rows
│ Group by: {group_id, ws_order_number}
│ Aggregates: expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Expand Est. 5634 rows
└─ Right Semi Join Est. 5634 rows
│ Condition: ws_order_number_6 == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Inner (PARALLEL_HASH) Join Est. 518250047 rows
│ │ Condition: ws_order_number_6 == ws_order_number_5
│ │ Filter: ws_warehouse_sk_6 != ws_warehouse_sk_7
│ ├─ Inner (PARALLEL_HASH) Join Est. 86414501 rows
│ │ │ Condition: ws_order_number_6 == wr_order_number
│ │ ├─ Repartition Exchange Est. 72001237 rows
│ │ │ │ Partition by: {ws_order_number_6}
│ │ │ └─ Filter Est. 72001237 rows
│ │ │ │ Condition: Runtime Filters: {ws_order_number_6}
│ │ │ └─ TableScan tpcds100.web_sales Est. 72001237 rows
│ │ │ Where: Runtime Filters: {ws_order_number}
│ │ │ Outputs: ws_warehouse_sk_7:=ws_warehouse_sk, ws_order_number_6:=ws_order_number
│ │ └─ Repartition Exchange Est. 7197670 rows
│ │ │ Partition by: {wr_order_number}
│ │ └─ Filter Est. 7197670 rows
│ │ │ Condition: Runtime Filters: {wr_order_number}
│ │ └─ TableScan tpcds100.web_returns Est. 7197670 rows
│ │ Where: Runtime Filters: {wr_order_number}
│ │ Outputs: [wr_order_number]
│ └─ Repartition Exchange Est. 72001237 rows
│ │ Partition by: {ws_order_number_5}
│ └─ Filter Est. 72001237 rows
│ │ Condition: Runtime Filters: {ws_order_number_5}
│ └─ TableScan tpcds100.web_sales Est. 72001237 rows
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_6:=ws_warehouse_sk, ws_order_number_5:=ws_order_number
└─ Repartition Exchange Est. 5634 rows
│ Partition by: {ws_order_number}
└─ Inner Join Est. 5634 rows
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join Est. 67612 rows
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 2145977 rows
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 72001237 rows
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds100.web_sales Est. 72001237 rows
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange Est. 59 rows
│ │ └─ Projection Est. 59 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 59 rows
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds100.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 31500 rows
│ └─ Projection Est. 31500 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 31500 rows
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds100.customer_address Est. 1000000 rows
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 2 rows
└─ Projection Est. 2 rows
│ Expressions: [web_site_sk]
└─ Filter Est. 2 rows
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds100.web_site Est. 24 rows
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(uniqExact)(ws_order_number), expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Right Semi Join Est. 5634 rows
│ Condition: ws_order_number_6 == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Inner (PARALLEL_HASH) Join Est. 518250047 rows
│ │ Condition: ws_order_number_6 == ws_order_number_5
│ │ Filter: ws_warehouse_sk_6 != ws_warehouse_sk_7
│ ├─ Inner (PARALLEL_HASH) Join Est. 86414501 rows
│ │ │ Condition: ws_order_number_6 == wr_order_number
│ │ ├─ Repartition Exchange Est. 72001237 rows
│ │ │ │ Partition by: {ws_order_number_6}
│ │ │ └─ Filter Est. 72001237 rows
│ │ │ │ Condition: Runtime Filters: {ws_order_number_6}
│ │ │ └─ TableScan tpcds100.web_sales Est. 72001237 rows
│ │ │ Where: Runtime Filters: {ws_order_number}
│ │ │ Outputs: ws_warehouse_sk_7:=ws_warehouse_sk, ws_order_number_6:=ws_order_number
│ │ └─ Repartition Exchange Est. 7197670 rows
│ │ │ Partition by: {wr_order_number}
│ │ └─ Filter Est. 7197670 rows
│ │ │ Condition: Runtime Filters: {wr_order_number}
│ │ └─ TableScan tpcds100.web_returns Est. 7197670 rows
│ │ Where: Runtime Filters: {wr_order_number}
│ │ Outputs: [wr_order_number]
│ └─ Repartition Exchange Est. 72001237 rows
│ │ Partition by: {ws_order_number_5}
│ └─ Filter Est. 72001237 rows
│ │ Condition: Runtime Filters: {ws_order_number_5}
│ └─ TableScan tpcds100.web_sales Est. 72001237 rows
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_6:=ws_warehouse_sk, ws_order_number_5:=ws_order_number
└─ Repartition Exchange Est. 5634 rows
│ Partition by: {ws_order_number}
└─ Inner Join Est. 5634 rows
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join Est. 67612 rows
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 2145977 rows
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 72001237 rows
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds100.web_sales Est. 72001237 rows
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange Est. 59 rows
│ │ └─ Projection Est. 59 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 59 rows
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds100.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 31500 rows
│ └─ Projection Est. 31500 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 31500 rows
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds100.customer_address Est. 1000000 rows
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 2 rows
└─ Projection Est. 2 rows
│ Expressions: [web_site_sk]
└─ Filter Est. 2 rows
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds100.web_site Est. 24 rows
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
note: Runtime Filter is applied for 6 times.

View File

@ -9,80 +9,71 @@ Projection Est. 1 rows
└─ Gather Exchange Est. 1 rows
└─ Aggregating Est. 1 rows
│ Group by: {}
│ Aggregates: expr#uniqExact(cs_order_number):=AggNull(countIf)(cs_order_number,group_id_mask), expr#sum(cs_ext_ship_cost):=AggNull(anyIf)(expr#sum(cs_ext_ship_cost),group_id_mask_1), expr#sum(cs_net_profit):=AggNull(anyIf)(expr#sum(cs_net_profit),group_id_mask_1)
└─ Projection Est. 62491 rows
│ Expressions: [cs_order_number, expr#sum(cs_ext_ship_cost), expr#sum(cs_net_profit)], group_id_mask:=group_id = 1, group_id_mask_1:=group_id = 0
└─ MergingAggregated Est. 62491 rows
└─ Repartition Exchange Est. 62491 rows
│ Partition by: {cs_order_number, group_id}
└─ Aggregating Est. 62491 rows
│ Group by: {cs_order_number, group_id}
│ Aggregates: expr#sum(cs_ext_ship_cost):=AggNull(sum)(cs_ext_ship_cost), expr#sum(cs_net_profit):=AggNull(sum)(cs_net_profit)
└─ Expand Est. 62491 rows
└─ Right Semi Join Est. 62491 rows
│ Condition: cs_order_number_1 == cs_order_number
│ Filter: cs_warehouse_sk != cs_warehouse_sk_1
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange Est. 1439980416 rows
│ │ Partition by: {cs_order_number_1}
│ └─ Filter Est. 1439980416 rows
│ │ Condition: Runtime Filters: {cs_order_number_1}
│ └─ TableScan tpcds1000.catalog_sales Est. 1439980416 rows
│ Where: Runtime Filters: {cs_order_number}
│ Outputs: cs_warehouse_sk_1:=cs_warehouse_sk, cs_order_number_1:=cs_order_number
└─ Repartition Exchange Est. 62491 rows
│ Partition by: {cs_order_number}
└─ Right Anti Join Est. 62491 rows
│ Condition: cr_order_number == cs_order_number
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange Est. 143996756 rows
│ │ Partition by: {cr_order_number}
│ └─ Filter Est. 143996756 rows
│ │ Condition: Runtime Filters: {cr_order_number}
│ └─ TableScan tpcds1000.catalog_returns Est. 143996756 rows
│ Where: Runtime Filters: {cr_order_number}
│ Outputs: [cr_order_number]
└─ Repartition Exchange Est. 104153 rows
│ Partition by: {cs_order_number}
└─ Inner Join Est. 104153 rows
│ Condition: cs_ship_addr_sk == ca_address_sk
│ Runtime Filters Builder: {ca_address_sk}
├─ Repartition Exchange Est. 2098370 rows
│ │ Partition by: {cs_ship_addr_sk}
│ └─ Inner Join Est. 2098370 rows
│ │ Condition: cs_call_center_sk == cc_call_center_sk
│ │ Runtime Filters Builder: {cc_call_center_sk}
│ ├─ Inner Join Est. 44065790 rows
│ │ │ Condition: cs_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 1439980416 rows
│ │ │ │ Condition: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ └─ TableScan tpcds1000.catalog_sales Est. 1439980416 rows
│ │ │ Where: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ Outputs: [cs_ship_date_sk, cs_ship_addr_sk, cs_call_center_sk, cs_warehouse_sk, cs_order_number, cs_ext_ship_cost, cs_net_profit]
│ │ └─ Broadcast Exchange Est. 60 rows
│ │ └─ Projection Est. 60 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 60 rows
│ │ │ Condition: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ └─ TableScan tpcds1000.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 2 rows
│ └─ Projection Est. 2 rows
│ │ Expressions: [cc_call_center_sk]
│ └─ Filter Est. 2 rows
│ │ Condition: cc_county = 'Williamson County'
│ └─ TableScan tpcds1000.call_center Est. 42 rows
│ Where: cc_county = 'Williamson County'
│ Outputs: [cc_call_center_sk, cc_county]
└─ Repartition Exchange Est. 297813 rows
│ Partition by: {ca_address_sk}
└─ Projection Est. 297813 rows
│ Expressions: [ca_address_sk]
└─ Filter Est. 297813 rows
│ Condition: ca_state = 'GA'
└─ TableScan tpcds1000.customer_address Est. 6000000 rows
Where: ca_state = 'GA'
Outputs: [ca_address_sk, ca_state]
│ Aggregates: expr#uniqExact(cs_order_number):=AggNull(uniqExact)(cs_order_number), expr#sum(cs_ext_ship_cost):=AggNull(sum)(cs_ext_ship_cost), expr#sum(cs_net_profit):=AggNull(sum)(cs_net_profit)
└─ Right Semi Join Est. 62491 rows
│ Condition: cs_order_number_1 == cs_order_number
│ Filter: cs_warehouse_sk != cs_warehouse_sk_1
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange Est. 1439980416 rows
│ │ Partition by: {cs_order_number_1}
│ └─ Filter Est. 1439980416 rows
│ │ Condition: Runtime Filters: {cs_order_number_1}
│ └─ TableScan tpcds1000.catalog_sales Est. 1439980416 rows
│ Where: Runtime Filters: {cs_order_number}
│ Outputs: cs_warehouse_sk_1:=cs_warehouse_sk, cs_order_number_1:=cs_order_number
└─ Repartition Exchange Est. 62491 rows
│ Partition by: {cs_order_number}
└─ Right Anti Join Est. 62491 rows
│ Condition: cr_order_number == cs_order_number
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange Est. 143996756 rows
│ │ Partition by: {cr_order_number}
│ └─ Filter Est. 143996756 rows
│ │ Condition: Runtime Filters: {cr_order_number}
│ └─ TableScan tpcds1000.catalog_returns Est. 143996756 rows
│ Where: Runtime Filters: {cr_order_number}
│ Outputs: [cr_order_number]
└─ Repartition Exchange Est. 104153 rows
│ Partition by: {cs_order_number}
└─ Inner Join Est. 104153 rows
│ Condition: cs_ship_addr_sk == ca_address_sk
│ Runtime Filters Builder: {ca_address_sk}
├─ Repartition Exchange Est. 2098370 rows
│ │ Partition by: {cs_ship_addr_sk}
│ └─ Inner Join Est. 2098370 rows
│ │ Condition: cs_call_center_sk == cc_call_center_sk
│ │ Runtime Filters Builder: {cc_call_center_sk}
│ ├─ Inner Join Est. 44065790 rows
│ │ │ Condition: cs_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 1439980416 rows
│ │ │ │ Condition: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ └─ TableScan tpcds1000.catalog_sales Est. 1439980416 rows
│ │ │ Where: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ Outputs: [cs_ship_date_sk, cs_ship_addr_sk, cs_call_center_sk, cs_warehouse_sk, cs_order_number, cs_ext_ship_cost, cs_net_profit]
│ │ └─ Broadcast Exchange Est. 60 rows
│ │ └─ Projection Est. 60 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 60 rows
│ │ │ Condition: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ └─ TableScan tpcds1000.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 2 rows
│ └─ Projection Est. 2 rows
│ │ Expressions: [cc_call_center_sk]
│ └─ Filter Est. 2 rows
│ │ Condition: cc_county = 'Williamson County'
│ └─ TableScan tpcds1000.call_center Est. 42 rows
│ Where: cc_county = 'Williamson County'
│ Outputs: [cc_call_center_sk, cc_county]
└─ Repartition Exchange Est. 297813 rows
│ Partition by: {ca_address_sk}
└─ Projection Est. 297813 rows
│ Expressions: [ca_address_sk]
└─ Filter Est. 297813 rows
│ Condition: ca_state = 'GA'
└─ TableScan tpcds1000.customer_address Est. 6000000 rows
Where: ca_state = 'GA'
Outputs: [ca_address_sk, ca_state]
note: Runtime Filter is applied for 5 times.

View File

@ -9,77 +9,68 @@ Projection Est. 1 rows
└─ Gather Exchange Est. 1 rows
└─ Aggregating Est. 1 rows
│ Group by: {}
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(countIf)(ws_order_number,group_id_mask), expr#sum(ws_ext_ship_cost):=AggNull(anyIf)(expr#sum(ws_ext_ship_cost),group_id_mask_1), expr#sum(ws_net_profit):=AggNull(anyIf)(expr#sum(ws_net_profit),group_id_mask_1)
└─ Projection Est. 53990 rows
│ Expressions: [expr#sum(ws_ext_ship_cost), expr#sum(ws_net_profit), ws_order_number], group_id_mask:=group_id = 1, group_id_mask_1:=group_id = 0
└─ MergingAggregated Est. 53990 rows
└─ Repartition Exchange Est. 53990 rows
│ Partition by: {group_id, ws_order_number}
└─ Aggregating Est. 53990 rows
│ Group by: {group_id, ws_order_number}
│ Aggregates: expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Expand Est. 59990 rows
└─ Right Semi Join Est. 59990 rows
│ Condition: ws_order_number_1 == ws_order_number
│ Filter: ws_warehouse_sk != ws_warehouse_sk_1
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange Est. 720000376 rows
│ │ Partition by: {ws_order_number_1}
│ └─ Filter Est. 720000376 rows
│ │ Condition: Runtime Filters: {ws_order_number_1}
│ └─ TableScan tpcds1000.web_sales Est. 720000376 rows
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_1:=ws_warehouse_sk, ws_order_number_1:=ws_order_number
└─ Repartition Exchange Est. 59990 rows
│ Partition by: {ws_order_number}
└─ Right Anti Join Est. 59990 rows
│ Condition: wr_order_number == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange Est. 71997522 rows
│ │ Partition by: {wr_order_number}
│ └─ Filter Est. 71997522 rows
│ │ Condition: Runtime Filters: {wr_order_number}
│ └─ TableScan tpcds1000.web_returns Est. 71997522 rows
│ Where: Runtime Filters: {wr_order_number}
│ Outputs: [wr_order_number]
└─ Repartition Exchange Est. 99984 rows
│ Partition by: {ws_order_number}
└─ Inner Join Est. 99984 rows
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join Est. 674895 rows
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 21459415 rows
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 720000376 rows
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds1000.web_sales Est. 720000376 rows
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_warehouse_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange Est. 59 rows
│ │ └─ Projection Est. 59 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 59 rows
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds1000.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 188699 rows
│ └─ Projection Est. 188699 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 188699 rows
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds1000.customer_address Est. 6000000 rows
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 8 rows
└─ Projection Est. 8 rows
│ Expressions: [web_site_sk]
└─ Filter Est. 8 rows
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds1000.web_site Est. 54 rows
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(uniqExact)(ws_order_number), expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Right Semi Join Est. 59990 rows
│ Condition: ws_order_number_1 == ws_order_number
│ Filter: ws_warehouse_sk != ws_warehouse_sk_1
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange Est. 720000376 rows
│ │ Partition by: {ws_order_number_1}
│ └─ Filter Est. 720000376 rows
│ │ Condition: Runtime Filters: {ws_order_number_1}
│ └─ TableScan tpcds1000.web_sales Est. 720000376 rows
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_1:=ws_warehouse_sk, ws_order_number_1:=ws_order_number
└─ Repartition Exchange Est. 59990 rows
│ Partition by: {ws_order_number}
└─ Right Anti Join Est. 59990 rows
│ Condition: wr_order_number == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange Est. 71997522 rows
│ │ Partition by: {wr_order_number}
│ └─ Filter Est. 71997522 rows
│ │ Condition: Runtime Filters: {wr_order_number}
│ └─ TableScan tpcds1000.web_returns Est. 71997522 rows
│ Where: Runtime Filters: {wr_order_number}
│ Outputs: [wr_order_number]
└─ Repartition Exchange Est. 99984 rows
│ Partition by: {ws_order_number}
└─ Inner Join Est. 99984 rows
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join Est. 674895 rows
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 21459415 rows
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 720000376 rows
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds1000.web_sales Est. 720000376 rows
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_warehouse_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange Est. 59 rows
│ │ └─ Projection Est. 59 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 59 rows
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds1000.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 188699 rows
│ └─ Projection Est. 188699 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 188699 rows
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds1000.customer_address Est. 6000000 rows
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 8 rows
└─ Projection Est. 8 rows
│ Expressions: [web_site_sk]
└─ Filter Est. 8 rows
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds1000.web_site Est. 54 rows
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
note: Runtime Filter is applied for 5 times.

View File

@ -9,83 +9,74 @@ Projection Est. 1 rows
└─ Gather Exchange Est. 1 rows
└─ Aggregating Est. 1 rows
│ Group by: {}
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(countIf)(ws_order_number,group_id_mask), expr#sum(ws_ext_ship_cost):=AggNull(anyIf)(expr#sum(ws_ext_ship_cost),group_id_mask_1), expr#sum(ws_net_profit):=AggNull(anyIf)(expr#sum(ws_net_profit),group_id_mask_1)
└─ Projection Est. 89985 rows
│ Expressions: [expr#sum(ws_ext_ship_cost), expr#sum(ws_net_profit), ws_order_number], group_id_mask:=group_id = 1, group_id_mask_1:=group_id = 0
└─ MergingAggregated Est. 89985 rows
└─ Repartition Exchange Est. 89985 rows
│ Partition by: {group_id, ws_order_number}
└─ Aggregating Est. 89985 rows
│ Group by: {group_id, ws_order_number}
│ Aggregates: expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Expand Est. 99984 rows
└─ Right Semi Join Est. 99984 rows
│ Condition: ws_order_number_6 == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Inner (PARALLEL_HASH) Join Est. 5211148755 rows
│ │ Condition: ws_order_number_6 == ws_order_number_5
│ │ Filter: ws_warehouse_sk_6 != ws_warehouse_sk_7
│ ├─ Inner (PARALLEL_HASH) Join Est. 863369119 rows
│ │ │ Condition: ws_order_number_6 == wr_order_number
│ │ ├─ Repartition Exchange Est. 720000376 rows
│ │ │ │ Partition by: {ws_order_number_6}
│ │ │ └─ Filter Est. 720000376 rows
│ │ │ │ Condition: Runtime Filters: {ws_order_number_6}
│ │ │ └─ TableScan tpcds1000.web_sales Est. 720000376 rows
│ │ │ Where: Runtime Filters: {ws_order_number}
│ │ │ Outputs: ws_warehouse_sk_7:=ws_warehouse_sk, ws_order_number_6:=ws_order_number
│ │ └─ Repartition Exchange Est. 71997522 rows
│ │ │ Partition by: {wr_order_number}
│ │ └─ Filter Est. 71997522 rows
│ │ │ Condition: Runtime Filters: {wr_order_number}
│ │ └─ TableScan tpcds1000.web_returns Est. 71997522 rows
│ │ Where: Runtime Filters: {wr_order_number}
│ │ Outputs: [wr_order_number]
│ └─ Repartition Exchange Est. 720000376 rows
│ │ Partition by: {ws_order_number_5}
│ └─ Filter Est. 720000376 rows
│ │ Condition: Runtime Filters: {ws_order_number_5}
│ └─ TableScan tpcds1000.web_sales Est. 720000376 rows
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_6:=ws_warehouse_sk, ws_order_number_5:=ws_order_number
└─ Repartition Exchange Est. 99984 rows
│ Partition by: {ws_order_number}
└─ Inner Join Est. 99984 rows
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join Est. 674895 rows
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 21459415 rows
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 720000376 rows
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds1000.web_sales Est. 720000376 rows
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange Est. 59 rows
│ │ └─ Projection Est. 59 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 59 rows
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds1000.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 188699 rows
│ └─ Projection Est. 188699 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 188699 rows
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds1000.customer_address Est. 6000000 rows
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 8 rows
└─ Projection Est. 8 rows
│ Expressions: [web_site_sk]
└─ Filter Est. 8 rows
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds1000.web_site Est. 54 rows
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(uniqExact)(ws_order_number), expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Right Semi Join Est. 99984 rows
│ Condition: ws_order_number_6 == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Inner (PARALLEL_HASH) Join Est. 5211148755 rows
│ │ Condition: ws_order_number_6 == ws_order_number_5
│ │ Filter: ws_warehouse_sk_6 != ws_warehouse_sk_7
│ ├─ Inner (PARALLEL_HASH) Join Est. 863369119 rows
│ │ │ Condition: ws_order_number_6 == wr_order_number
│ │ ├─ Repartition Exchange Est. 720000376 rows
│ │ │ │ Partition by: {ws_order_number_6}
│ │ │ └─ Filter Est. 720000376 rows
│ │ │ │ Condition: Runtime Filters: {ws_order_number_6}
│ │ │ └─ TableScan tpcds1000.web_sales Est. 720000376 rows
│ │ │ Where: Runtime Filters: {ws_order_number}
│ │ │ Outputs: ws_warehouse_sk_7:=ws_warehouse_sk, ws_order_number_6:=ws_order_number
│ │ └─ Repartition Exchange Est. 71997522 rows
│ │ │ Partition by: {wr_order_number}
│ │ └─ Filter Est. 71997522 rows
│ │ │ Condition: Runtime Filters: {wr_order_number}
│ │ └─ TableScan tpcds1000.web_returns Est. 71997522 rows
│ │ Where: Runtime Filters: {wr_order_number}
│ │ Outputs: [wr_order_number]
│ └─ Repartition Exchange Est. 720000376 rows
│ │ Partition by: {ws_order_number_5}
│ └─ Filter Est. 720000376 rows
│ │ Condition: Runtime Filters: {ws_order_number_5}
│ └─ TableScan tpcds1000.web_sales Est. 720000376 rows
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_6:=ws_warehouse_sk, ws_order_number_5:=ws_order_number
└─ Repartition Exchange Est. 99984 rows
│ Partition by: {ws_order_number}
└─ Inner Join Est. 99984 rows
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join Est. 674895 rows
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 21459415 rows
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 720000376 rows
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds1000.web_sales Est. 720000376 rows
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange Est. 59 rows
│ │ └─ Projection Est. 59 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 59 rows
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds1000.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 188699 rows
│ └─ Projection Est. 188699 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 188699 rows
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds1000.customer_address Est. 6000000 rows
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 8 rows
└─ Projection Est. 8 rows
│ Expressions: [web_site_sk]
└─ Filter Est. 8 rows
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds1000.web_site Est. 54 rows
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
note: Runtime Filter is applied for 6 times.

View File

@ -9,80 +9,71 @@ Projection
└─ Gather Exchange
└─ Aggregating
│ Group by: {}
│ Aggregates: expr#uniqExact(cs_order_number):=AggNull(countIf)(cs_order_number,group_id_mask), expr#sum(cs_ext_ship_cost):=AggNull(anyIf)(expr#sum(cs_ext_ship_cost),group_id_mask_1), expr#sum(cs_net_profit):=AggNull(anyIf)(expr#sum(cs_net_profit),group_id_mask_1)
└─ Projection
│ Expressions: [cs_order_number, expr#sum(cs_ext_ship_cost), expr#sum(cs_net_profit)], group_id_mask:=group_id = 1, group_id_mask_1:=group_id = 0
└─ MergingAggregated
└─ Repartition Exchange
│ Partition by: {cs_order_number, group_id}
└─ Aggregating
│ Group by: {cs_order_number, group_id}
│ Aggregates: expr#sum(cs_ext_ship_cost):=AggNull(sum)(cs_ext_ship_cost), expr#sum(cs_net_profit):=AggNull(sum)(cs_net_profit)
└─ Expand
└─ Right Semi Join
│ Condition: cs_order_number_1 == cs_order_number
│ Filter: cs_warehouse_sk != cs_warehouse_sk_1
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange
│ │ Partition by: {cs_order_number_1}
│ └─ Filter
│ │ Condition: Runtime Filters: {cs_order_number_1}
│ └─ TableScan tpcds1000.catalog_sales
│ Where: Runtime Filters: {cs_order_number}
│ Outputs: cs_warehouse_sk_1:=cs_warehouse_sk, cs_order_number_1:=cs_order_number
└─ Repartition Exchange
│ Partition by: {cs_order_number}
└─ Right Anti Join
│ Condition: cr_order_number == cs_order_number
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange
│ │ Partition by: {cr_order_number}
│ └─ Filter
│ │ Condition: Runtime Filters: {cr_order_number}
│ └─ TableScan tpcds1000.catalog_returns
│ Where: Runtime Filters: {cr_order_number}
│ Outputs: [cr_order_number]
└─ Repartition Exchange
│ Partition by: {cs_order_number}
└─ Inner Join
│ Condition: cs_ship_addr_sk == ca_address_sk
│ Runtime Filters Builder: {ca_address_sk}
├─ Repartition Exchange
│ │ Partition by: {cs_ship_addr_sk}
│ └─ Inner Join
│ │ Condition: cs_call_center_sk == cc_call_center_sk
│ │ Runtime Filters Builder: {cc_call_center_sk}
│ ├─ Inner Join
│ │ │ Condition: cs_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter
│ │ │ │ Condition: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ └─ TableScan tpcds1000.catalog_sales
│ │ │ Where: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ Outputs: [cs_ship_date_sk, cs_ship_addr_sk, cs_call_center_sk, cs_warehouse_sk, cs_order_number, cs_ext_ship_cost, cs_net_profit]
│ │ └─ Broadcast Exchange
│ │ └─ Projection
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter
│ │ │ Condition: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ └─ TableScan tpcds1000.date_dim
│ │ Where: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange
│ └─ Projection
│ │ Expressions: [cc_call_center_sk]
│ └─ Filter
│ │ Condition: cc_county = 'Williamson County'
│ └─ TableScan tpcds1000.call_center
│ Where: cc_county = 'Williamson County'
│ Outputs: [cc_call_center_sk, cc_county]
└─ Repartition Exchange
│ Partition by: {ca_address_sk}
└─ Projection
│ Expressions: [ca_address_sk]
└─ Filter
│ Condition: ca_state = 'GA'
└─ TableScan tpcds1000.customer_address
Where: ca_state = 'GA'
Outputs: [ca_address_sk, ca_state]
│ Aggregates: expr#uniqExact(cs_order_number):=AggNull(uniqExact)(cs_order_number), expr#sum(cs_ext_ship_cost):=AggNull(sum)(cs_ext_ship_cost), expr#sum(cs_net_profit):=AggNull(sum)(cs_net_profit)
└─ Right Semi Join
│ Condition: cs_order_number_1 == cs_order_number
│ Filter: cs_warehouse_sk != cs_warehouse_sk_1
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange
│ │ Partition by: {cs_order_number_1}
│ └─ Filter
│ │ Condition: Runtime Filters: {cs_order_number_1}
│ └─ TableScan tpcds1000.catalog_sales
│ Where: Runtime Filters: {cs_order_number}
│ Outputs: cs_warehouse_sk_1:=cs_warehouse_sk, cs_order_number_1:=cs_order_number
└─ Repartition Exchange
│ Partition by: {cs_order_number}
└─ Right Anti Join
│ Condition: cr_order_number == cs_order_number
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange
│ │ Partition by: {cr_order_number}
│ └─ Filter
│ │ Condition: Runtime Filters: {cr_order_number}
│ └─ TableScan tpcds1000.catalog_returns
│ Where: Runtime Filters: {cr_order_number}
│ Outputs: [cr_order_number]
└─ Repartition Exchange
│ Partition by: {cs_order_number}
└─ Inner Join
│ Condition: cs_ship_addr_sk == ca_address_sk
│ Runtime Filters Builder: {ca_address_sk}
├─ Repartition Exchange
│ │ Partition by: {cs_ship_addr_sk}
│ └─ Inner Join
│ │ Condition: cs_call_center_sk == cc_call_center_sk
│ │ Runtime Filters Builder: {cc_call_center_sk}
│ ├─ Inner Join
│ │ │ Condition: cs_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter
│ │ │ │ Condition: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ └─ TableScan tpcds1000.catalog_sales
│ │ │ Where: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ Outputs: [cs_ship_date_sk, cs_ship_addr_sk, cs_call_center_sk, cs_warehouse_sk, cs_order_number, cs_ext_ship_cost, cs_net_profit]
│ │ └─ Broadcast Exchange
│ │ └─ Projection
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter
│ │ │ Condition: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ └─ TableScan tpcds1000.date_dim
│ │ Where: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange
│ └─ Projection
│ │ Expressions: [cc_call_center_sk]
│ └─ Filter
│ │ Condition: cc_county = 'Williamson County'
│ └─ TableScan tpcds1000.call_center
│ Where: cc_county = 'Williamson County'
│ Outputs: [cc_call_center_sk, cc_county]
└─ Repartition Exchange
│ Partition by: {ca_address_sk}
└─ Projection
│ Expressions: [ca_address_sk]
└─ Filter
│ Condition: ca_state = 'GA'
└─ TableScan tpcds1000.customer_address
Where: ca_state = 'GA'
Outputs: [ca_address_sk, ca_state]
note: Runtime Filter is applied for 5 times.

View File

@ -9,77 +9,68 @@ Projection
└─ Gather Exchange
└─ Aggregating
│ Group by: {}
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(countIf)(ws_order_number,group_id_mask), expr#sum(ws_ext_ship_cost):=AggNull(anyIf)(expr#sum(ws_ext_ship_cost),group_id_mask_1), expr#sum(ws_net_profit):=AggNull(anyIf)(expr#sum(ws_net_profit),group_id_mask_1)
└─ Projection
│ Expressions: [expr#sum(ws_ext_ship_cost), expr#sum(ws_net_profit), ws_order_number], group_id_mask:=group_id = 1, group_id_mask_1:=group_id = 0
└─ MergingAggregated
└─ Repartition Exchange
│ Partition by: {group_id, ws_order_number}
└─ Aggregating
│ Group by: {group_id, ws_order_number}
│ Aggregates: expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Expand
└─ Right Semi Join
│ Condition: ws_order_number_1 == ws_order_number
│ Filter: ws_warehouse_sk != ws_warehouse_sk_1
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange
│ │ Partition by: {ws_order_number_1}
│ └─ Filter
│ │ Condition: Runtime Filters: {ws_order_number_1}
│ └─ TableScan tpcds1000.web_sales
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_1:=ws_warehouse_sk, ws_order_number_1:=ws_order_number
└─ Repartition Exchange
│ Partition by: {ws_order_number}
└─ Right Anti Join
│ Condition: wr_order_number == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange
│ │ Partition by: {wr_order_number}
│ └─ Filter
│ │ Condition: Runtime Filters: {wr_order_number}
│ └─ TableScan tpcds1000.web_returns
│ Where: Runtime Filters: {wr_order_number}
│ Outputs: [wr_order_number]
└─ Repartition Exchange
│ Partition by: {ws_order_number}
└─ Inner Join
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds1000.web_sales
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_warehouse_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange
│ │ └─ Projection
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds1000.date_dim
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange
│ └─ Projection
│ │ Expressions: [ca_address_sk]
│ └─ Filter
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds1000.customer_address
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange
└─ Projection
│ Expressions: [web_site_sk]
└─ Filter
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds1000.web_site
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(uniqExact)(ws_order_number), expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Right Semi Join
│ Condition: ws_order_number_1 == ws_order_number
│ Filter: ws_warehouse_sk != ws_warehouse_sk_1
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange
│ │ Partition by: {ws_order_number_1}
│ └─ Filter
│ │ Condition: Runtime Filters: {ws_order_number_1}
│ └─ TableScan tpcds1000.web_sales
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_1:=ws_warehouse_sk, ws_order_number_1:=ws_order_number
└─ Repartition Exchange
│ Partition by: {ws_order_number}
└─ Right Anti Join
│ Condition: wr_order_number == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange
│ │ Partition by: {wr_order_number}
│ └─ Filter
│ │ Condition: Runtime Filters: {wr_order_number}
│ └─ TableScan tpcds1000.web_returns
│ Where: Runtime Filters: {wr_order_number}
│ Outputs: [wr_order_number]
└─ Repartition Exchange
│ Partition by: {ws_order_number}
└─ Inner Join
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds1000.web_sales
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_warehouse_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange
│ │ └─ Projection
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds1000.date_dim
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange
│ └─ Projection
│ │ Expressions: [ca_address_sk]
│ └─ Filter
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds1000.customer_address
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange
└─ Projection
│ Expressions: [web_site_sk]
└─ Filter
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds1000.web_site
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
note: Runtime Filter is applied for 5 times.

View File

@ -9,83 +9,74 @@ Projection
└─ Gather Exchange
└─ Aggregating
│ Group by: {}
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(countIf)(ws_order_number,group_id_mask), expr#sum(ws_ext_ship_cost):=AggNull(anyIf)(expr#sum(ws_ext_ship_cost),group_id_mask_1), expr#sum(ws_net_profit):=AggNull(anyIf)(expr#sum(ws_net_profit),group_id_mask_1)
└─ Projection
│ Expressions: [expr#sum(ws_ext_ship_cost), expr#sum(ws_net_profit), ws_order_number], group_id_mask:=group_id = 1, group_id_mask_1:=group_id = 0
└─ MergingAggregated
└─ Repartition Exchange
│ Partition by: {group_id, ws_order_number}
└─ Aggregating
│ Group by: {group_id, ws_order_number}
│ Aggregates: expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Expand
└─ Right Semi Join
│ Condition: ws_order_number_6 == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Inner (PARALLEL_HASH) Join
│ │ Condition: ws_order_number_6 == ws_order_number_5
│ │ Filter: ws_warehouse_sk_6 != ws_warehouse_sk_7
│ ├─ Inner (PARALLEL_HASH) Join
│ │ │ Condition: ws_order_number_6 == wr_order_number
│ │ ├─ Repartition Exchange
│ │ │ │ Partition by: {ws_order_number_6}
│ │ │ └─ Filter
│ │ │ │ Condition: Runtime Filters: {ws_order_number_6}
│ │ │ └─ TableScan tpcds1000.web_sales
│ │ │ Where: Runtime Filters: {ws_order_number}
│ │ │ Outputs: ws_warehouse_sk_7:=ws_warehouse_sk, ws_order_number_6:=ws_order_number
│ │ └─ Repartition Exchange
│ │ │ Partition by: {wr_order_number}
│ │ └─ Filter
│ │ │ Condition: Runtime Filters: {wr_order_number}
│ │ └─ TableScan tpcds1000.web_returns
│ │ Where: Runtime Filters: {wr_order_number}
│ │ Outputs: [wr_order_number]
│ └─ Repartition Exchange
│ │ Partition by: {ws_order_number_5}
│ └─ Filter
│ │ Condition: Runtime Filters: {ws_order_number_5}
│ └─ TableScan tpcds1000.web_sales
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_6:=ws_warehouse_sk, ws_order_number_5:=ws_order_number
└─ Repartition Exchange
│ Partition by: {ws_order_number}
└─ Inner Join
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds1000.web_sales
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange
│ │ └─ Projection
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds1000.date_dim
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange
│ └─ Projection
│ │ Expressions: [ca_address_sk]
│ └─ Filter
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds1000.customer_address
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange
└─ Projection
│ Expressions: [web_site_sk]
└─ Filter
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds1000.web_site
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(uniqExact)(ws_order_number), expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Right Semi Join
│ Condition: ws_order_number_6 == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Inner (PARALLEL_HASH) Join
│ │ Condition: ws_order_number_6 == ws_order_number_5
│ │ Filter: ws_warehouse_sk_6 != ws_warehouse_sk_7
│ ├─ Inner (PARALLEL_HASH) Join
│ │ │ Condition: ws_order_number_6 == wr_order_number
│ │ ├─ Repartition Exchange
│ │ │ │ Partition by: {ws_order_number_6}
│ │ │ └─ Filter
│ │ │ │ Condition: Runtime Filters: {ws_order_number_6}
│ │ │ └─ TableScan tpcds1000.web_sales
│ │ │ Where: Runtime Filters: {ws_order_number}
│ │ │ Outputs: ws_warehouse_sk_7:=ws_warehouse_sk, ws_order_number_6:=ws_order_number
│ │ └─ Repartition Exchange
│ │ │ Partition by: {wr_order_number}
│ │ └─ Filter
│ │ │ Condition: Runtime Filters: {wr_order_number}
│ │ └─ TableScan tpcds1000.web_returns
│ │ Where: Runtime Filters: {wr_order_number}
│ │ Outputs: [wr_order_number]
│ └─ Repartition Exchange
│ │ Partition by: {ws_order_number_5}
│ └─ Filter
│ │ Condition: Runtime Filters: {ws_order_number_5}
│ └─ TableScan tpcds1000.web_sales
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_6:=ws_warehouse_sk, ws_order_number_5:=ws_order_number
└─ Repartition Exchange
│ Partition by: {ws_order_number}
└─ Inner Join
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds1000.web_sales
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange
│ │ └─ Projection
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds1000.date_dim
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange
│ └─ Projection
│ │ Expressions: [ca_address_sk]
│ └─ Filter
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds1000.customer_address
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange
└─ Projection
│ Expressions: [web_site_sk]
└─ Filter
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds1000.web_site
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
note: Runtime Filter is applied for 6 times.

View File

@ -9,80 +9,71 @@ Projection Est. 1 rows
└─ Gather Exchange Est. 1 rows
└─ Aggregating Est. 1 rows
│ Group by: {}
│ Aggregates: expr#uniqExact(cs_order_number):=AggNull(countIf)(cs_order_number,group_id_mask), expr#sum(cs_ext_ship_cost):=AggNull(anyIf)(expr#sum(cs_ext_ship_cost),group_id_mask_1), expr#sum(cs_net_profit):=AggNull(anyIf)(expr#sum(cs_net_profit),group_id_mask_1)
└─ Projection Est. 60601 rows
│ Expressions: [cs_order_number, expr#sum(cs_ext_ship_cost), expr#sum(cs_net_profit)], group_id_mask:=group_id = 1, group_id_mask_1:=group_id = 0
└─ MergingAggregated Est. 60601 rows
└─ Repartition Exchange Est. 60601 rows
│ Partition by: {cs_order_number, group_id}
└─ Aggregating Est. 60601 rows
│ Group by: {cs_order_number, group_id}
│ Aggregates: expr#sum(cs_ext_ship_cost):=AggNull(sum)(cs_ext_ship_cost), expr#sum(cs_net_profit):=AggNull(sum)(cs_net_profit)
└─ Expand Est. 60601 rows
└─ Right Semi Join Est. 60601 rows
│ Condition: cs_order_number_1 == cs_order_number
│ Filter: cs_warehouse_sk != cs_warehouse_sk_1
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange Est. 1439980416 rows
│ │ Partition by: {cs_order_number_1}
│ └─ Filter Est. 1439980416 rows
│ │ Condition: Runtime Filters: {cs_order_number_1}
│ └─ TableScan tpcds1000_sample.catalog_sales Est. 1439980416 rows
│ Where: Runtime Filters: {cs_order_number}
│ Outputs: cs_warehouse_sk_1:=cs_warehouse_sk, cs_order_number_1:=cs_order_number
└─ Repartition Exchange Est. 60601 rows
│ Partition by: {cs_order_number}
└─ Right Anti Join Est. 60601 rows
│ Condition: cr_order_number == cs_order_number
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange Est. 143996756 rows
│ │ Partition by: {cr_order_number}
│ └─ Filter Est. 143996756 rows
│ │ Condition: Runtime Filters: {cr_order_number}
│ └─ TableScan tpcds1000_sample.catalog_returns Est. 143996756 rows
│ Where: Runtime Filters: {cr_order_number}
│ Outputs: [cr_order_number]
└─ Repartition Exchange Est. 101003 rows
│ Partition by: {cs_order_number}
└─ Inner Join Est. 101003 rows
│ Condition: cs_ship_addr_sk == ca_address_sk
│ Runtime Filters Builder: {ca_address_sk}
├─ Repartition Exchange Est. 2062805 rows
│ │ Partition by: {cs_ship_addr_sk}
│ └─ Inner Join Est. 2062805 rows
│ │ Condition: cs_call_center_sk == cc_call_center_sk
│ │ Runtime Filters Builder: {cc_call_center_sk}
│ ├─ Inner Join Est. 43318912 rows
│ │ │ Condition: cs_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 1439980416 rows
│ │ │ │ Condition: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ └─ TableScan tpcds1000_sample.catalog_sales Est. 1439980416 rows
│ │ │ Where: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ Outputs: [cs_ship_date_sk, cs_ship_addr_sk, cs_call_center_sk, cs_warehouse_sk, cs_order_number, cs_ext_ship_cost, cs_net_profit]
│ │ └─ Broadcast Exchange Est. 59 rows
│ │ └─ Projection Est. 59 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 59 rows
│ │ │ Condition: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ └─ TableScan tpcds1000_sample.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 2 rows
│ └─ Projection Est. 2 rows
│ │ Expressions: [cc_call_center_sk]
│ └─ Filter Est. 2 rows
│ │ Condition: cc_county = 'Williamson County'
│ └─ TableScan tpcds1000_sample.call_center Est. 42 rows
│ Where: cc_county = 'Williamson County'
│ Outputs: [cc_call_center_sk, cc_county]
└─ Repartition Exchange Est. 297813 rows
│ Partition by: {ca_address_sk}
└─ Projection Est. 297813 rows
│ Expressions: [ca_address_sk]
└─ Filter Est. 297813 rows
│ Condition: ca_state = 'GA'
└─ TableScan tpcds1000_sample.customer_address Est. 6000000 rows
Where: ca_state = 'GA'
Outputs: [ca_address_sk, ca_state]
│ Aggregates: expr#uniqExact(cs_order_number):=AggNull(uniqExact)(cs_order_number), expr#sum(cs_ext_ship_cost):=AggNull(sum)(cs_ext_ship_cost), expr#sum(cs_net_profit):=AggNull(sum)(cs_net_profit)
└─ Right Semi Join Est. 60601 rows
│ Condition: cs_order_number_1 == cs_order_number
│ Filter: cs_warehouse_sk != cs_warehouse_sk_1
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange Est. 1439980416 rows
│ │ Partition by: {cs_order_number_1}
│ └─ Filter Est. 1439980416 rows
│ │ Condition: Runtime Filters: {cs_order_number_1}
│ └─ TableScan tpcds1000_sample.catalog_sales Est. 1439980416 rows
│ Where: Runtime Filters: {cs_order_number}
│ Outputs: cs_warehouse_sk_1:=cs_warehouse_sk, cs_order_number_1:=cs_order_number
└─ Repartition Exchange Est. 60601 rows
│ Partition by: {cs_order_number}
└─ Right Anti Join Est. 60601 rows
│ Condition: cr_order_number == cs_order_number
│ Runtime Filters Builder: {cs_order_number}
├─ Repartition Exchange Est. 143996756 rows
│ │ Partition by: {cr_order_number}
│ └─ Filter Est. 143996756 rows
│ │ Condition: Runtime Filters: {cr_order_number}
│ └─ TableScan tpcds1000_sample.catalog_returns Est. 143996756 rows
│ Where: Runtime Filters: {cr_order_number}
│ Outputs: [cr_order_number]
└─ Repartition Exchange Est. 101003 rows
│ Partition by: {cs_order_number}
└─ Inner Join Est. 101003 rows
│ Condition: cs_ship_addr_sk == ca_address_sk
│ Runtime Filters Builder: {ca_address_sk}
├─ Repartition Exchange Est. 2062805 rows
│ │ Partition by: {cs_ship_addr_sk}
│ └─ Inner Join Est. 2062805 rows
│ │ Condition: cs_call_center_sk == cc_call_center_sk
│ │ Runtime Filters Builder: {cc_call_center_sk}
│ ├─ Inner Join Est. 43318912 rows
│ │ │ Condition: cs_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 1439980416 rows
│ │ │ │ Condition: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ └─ TableScan tpcds1000_sample.catalog_sales Est. 1439980416 rows
│ │ │ Where: Runtime Filters: {cs_call_center_sk, cs_ship_addr_sk, cs_ship_date_sk}
│ │ │ Outputs: [cs_ship_date_sk, cs_ship_addr_sk, cs_call_center_sk, cs_warehouse_sk, cs_order_number, cs_ext_ship_cost, cs_net_profit]
│ │ └─ Broadcast Exchange Est. 59 rows
│ │ └─ Projection Est. 59 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 59 rows
│ │ │ Condition: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ └─ TableScan tpcds1000_sample.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(11719, 'Date32')) AND (d_date <= cast(11779, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 2 rows
│ └─ Projection Est. 2 rows
│ │ Expressions: [cc_call_center_sk]
│ └─ Filter Est. 2 rows
│ │ Condition: cc_county = 'Williamson County'
│ └─ TableScan tpcds1000_sample.call_center Est. 42 rows
│ Where: cc_county = 'Williamson County'
│ Outputs: [cc_call_center_sk, cc_county]
└─ Repartition Exchange Est. 297813 rows
│ Partition by: {ca_address_sk}
└─ Projection Est. 297813 rows
│ Expressions: [ca_address_sk]
└─ Filter Est. 297813 rows
│ Condition: ca_state = 'GA'
└─ TableScan tpcds1000_sample.customer_address Est. 6000000 rows
Where: ca_state = 'GA'
Outputs: [ca_address_sk, ca_state]
note: Runtime Filter is applied for 5 times.

View File

@ -9,77 +9,68 @@ Projection Est. 1 rows
└─ Gather Exchange Est. 1 rows
└─ Aggregating Est. 1 rows
│ Group by: {}
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(countIf)(ws_order_number,group_id_mask), expr#sum(ws_ext_ship_cost):=AggNull(anyIf)(expr#sum(ws_ext_ship_cost),group_id_mask_1), expr#sum(ws_net_profit):=AggNull(anyIf)(expr#sum(ws_net_profit),group_id_mask_1)
└─ Projection Est. 54334 rows
│ Expressions: [expr#sum(ws_ext_ship_cost), expr#sum(ws_net_profit), ws_order_number], group_id_mask:=group_id = 1, group_id_mask_1:=group_id = 0
└─ MergingAggregated Est. 54334 rows
└─ Repartition Exchange Est. 54334 rows
│ Partition by: {group_id, ws_order_number}
└─ Aggregating Est. 54334 rows
│ Group by: {group_id, ws_order_number}
│ Aggregates: expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Expand Est. 60372 rows
└─ Right Semi Join Est. 60372 rows
│ Condition: ws_order_number_1 == ws_order_number
│ Filter: ws_warehouse_sk != ws_warehouse_sk_1
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange Est. 720000376 rows
│ │ Partition by: {ws_order_number_1}
│ └─ Filter Est. 720000376 rows
│ │ Condition: Runtime Filters: {ws_order_number_1}
│ └─ TableScan tpcds1000_sample.web_sales Est. 720000376 rows
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_1:=ws_warehouse_sk, ws_order_number_1:=ws_order_number
└─ Repartition Exchange Est. 60372 rows
│ Partition by: {ws_order_number}
└─ Right Anti Join Est. 60372 rows
│ Condition: wr_order_number == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange Est. 71997522 rows
│ │ Partition by: {wr_order_number}
│ └─ Filter Est. 71997522 rows
│ │ Condition: Runtime Filters: {wr_order_number}
│ └─ TableScan tpcds1000_sample.web_returns Est. 71997522 rows
│ Where: Runtime Filters: {wr_order_number}
│ Outputs: [wr_order_number]
└─ Repartition Exchange Est. 100621 rows
│ Partition by: {ws_order_number}
└─ Inner Join Est. 100621 rows
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join Est. 679192 rows
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 21829405 rows
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 720000376 rows
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds1000_sample.web_sales Est. 720000376 rows
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_warehouse_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange Est. 60 rows
│ │ └─ Projection Est. 60 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 60 rows
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds1000_sample.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 188699 rows
│ └─ Projection Est. 188699 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 188699 rows
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds1000_sample.customer_address Est. 6000000 rows
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 8 rows
└─ Projection Est. 8 rows
│ Expressions: [web_site_sk]
└─ Filter Est. 8 rows
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds1000_sample.web_site Est. 54 rows
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(uniqExact)(ws_order_number), expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Right Semi Join Est. 60372 rows
│ Condition: ws_order_number_1 == ws_order_number
│ Filter: ws_warehouse_sk != ws_warehouse_sk_1
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange Est. 720000376 rows
│ │ Partition by: {ws_order_number_1}
│ └─ Filter Est. 720000376 rows
│ │ Condition: Runtime Filters: {ws_order_number_1}
│ └─ TableScan tpcds1000_sample.web_sales Est. 720000376 rows
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_1:=ws_warehouse_sk, ws_order_number_1:=ws_order_number
└─ Repartition Exchange Est. 60372 rows
│ Partition by: {ws_order_number}
└─ Right Anti Join Est. 60372 rows
│ Condition: wr_order_number == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Repartition Exchange Est. 71997522 rows
│ │ Partition by: {wr_order_number}
│ └─ Filter Est. 71997522 rows
│ │ Condition: Runtime Filters: {wr_order_number}
│ └─ TableScan tpcds1000_sample.web_returns Est. 71997522 rows
│ Where: Runtime Filters: {wr_order_number}
│ Outputs: [wr_order_number]
└─ Repartition Exchange Est. 100621 rows
│ Partition by: {ws_order_number}
└─ Inner Join Est. 100621 rows
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join Est. 679192 rows
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 21829405 rows
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 720000376 rows
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds1000_sample.web_sales Est. 720000376 rows
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_warehouse_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange Est. 60 rows
│ │ └─ Projection Est. 60 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 60 rows
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds1000_sample.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 188699 rows
│ └─ Projection Est. 188699 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 188699 rows
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds1000_sample.customer_address Est. 6000000 rows
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 8 rows
└─ Projection Est. 8 rows
│ Expressions: [web_site_sk]
└─ Filter Est. 8 rows
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds1000_sample.web_site Est. 54 rows
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
note: Runtime Filter is applied for 5 times.

View File

@ -9,83 +9,74 @@ Projection Est. 1 rows
└─ Gather Exchange Est. 1 rows
└─ Aggregating Est. 1 rows
│ Group by: {}
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(countIf)(ws_order_number,group_id_mask), expr#sum(ws_ext_ship_cost):=AggNull(anyIf)(expr#sum(ws_ext_ship_cost),group_id_mask_1), expr#sum(ws_net_profit):=AggNull(anyIf)(expr#sum(ws_net_profit),group_id_mask_1)
└─ Projection Est. 90558 rows
│ Expressions: [expr#sum(ws_ext_ship_cost), expr#sum(ws_net_profit), ws_order_number], group_id_mask:=group_id = 1, group_id_mask_1:=group_id = 0
└─ MergingAggregated Est. 90558 rows
└─ Repartition Exchange Est. 90558 rows
│ Partition by: {group_id, ws_order_number}
└─ Aggregating Est. 90558 rows
│ Group by: {group_id, ws_order_number}
│ Aggregates: expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Expand Est. 100621 rows
└─ Right Semi Join Est. 100621 rows
│ Condition: ws_order_number_6 == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Inner (PARALLEL_HASH) Join Est. 5183826998 rows
│ │ Condition: ws_order_number_6 == ws_order_number_5
│ │ Filter: ws_warehouse_sk_6 != ws_warehouse_sk_7
│ ├─ Inner (PARALLEL_HASH) Join Est. 897815070 rows
│ │ │ Condition: ws_order_number_6 == wr_order_number
│ │ ├─ Repartition Exchange Est. 720000376 rows
│ │ │ │ Partition by: {ws_order_number_6}
│ │ │ └─ Filter Est. 720000376 rows
│ │ │ │ Condition: Runtime Filters: {ws_order_number_6}
│ │ │ └─ TableScan tpcds1000_sample.web_sales Est. 720000376 rows
│ │ │ Where: Runtime Filters: {ws_order_number}
│ │ │ Outputs: ws_warehouse_sk_7:=ws_warehouse_sk, ws_order_number_6:=ws_order_number
│ │ └─ Repartition Exchange Est. 71997522 rows
│ │ │ Partition by: {wr_order_number}
│ │ └─ Filter Est. 71997522 rows
│ │ │ Condition: Runtime Filters: {wr_order_number}
│ │ └─ TableScan tpcds1000_sample.web_returns Est. 71997522 rows
│ │ Where: Runtime Filters: {wr_order_number}
│ │ Outputs: [wr_order_number]
│ └─ Repartition Exchange Est. 720000376 rows
│ │ Partition by: {ws_order_number_5}
│ └─ Filter Est. 720000376 rows
│ │ Condition: Runtime Filters: {ws_order_number_5}
│ └─ TableScan tpcds1000_sample.web_sales Est. 720000376 rows
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_6:=ws_warehouse_sk, ws_order_number_5:=ws_order_number
└─ Repartition Exchange Est. 100621 rows
│ Partition by: {ws_order_number}
└─ Inner Join Est. 100621 rows
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join Est. 679192 rows
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 21829405 rows
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 720000376 rows
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds1000_sample.web_sales Est. 720000376 rows
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange Est. 60 rows
│ │ └─ Projection Est. 60 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 60 rows
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds1000_sample.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 188699 rows
│ └─ Projection Est. 188699 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 188699 rows
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds1000_sample.customer_address Est. 6000000 rows
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 8 rows
└─ Projection Est. 8 rows
│ Expressions: [web_site_sk]
└─ Filter Est. 8 rows
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds1000_sample.web_site Est. 54 rows
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
│ Aggregates: expr#uniqExact(ws_order_number):=AggNull(uniqExact)(ws_order_number), expr#sum(ws_ext_ship_cost):=AggNull(sum)(ws_ext_ship_cost), expr#sum(ws_net_profit):=AggNull(sum)(ws_net_profit)
└─ Right Semi Join Est. 100621 rows
│ Condition: ws_order_number_6 == ws_order_number
│ Runtime Filters Builder: {ws_order_number}
├─ Inner (PARALLEL_HASH) Join Est. 5183826998 rows
│ │ Condition: ws_order_number_6 == ws_order_number_5
│ │ Filter: ws_warehouse_sk_6 != ws_warehouse_sk_7
│ ├─ Inner (PARALLEL_HASH) Join Est. 897815070 rows
│ │ │ Condition: ws_order_number_6 == wr_order_number
│ │ ├─ Repartition Exchange Est. 720000376 rows
│ │ │ │ Partition by: {ws_order_number_6}
│ │ │ └─ Filter Est. 720000376 rows
│ │ │ │ Condition: Runtime Filters: {ws_order_number_6}
│ │ │ └─ TableScan tpcds1000_sample.web_sales Est. 720000376 rows
│ │ │ Where: Runtime Filters: {ws_order_number}
│ │ │ Outputs: ws_warehouse_sk_7:=ws_warehouse_sk, ws_order_number_6:=ws_order_number
│ │ └─ Repartition Exchange Est. 71997522 rows
│ │ │ Partition by: {wr_order_number}
│ │ └─ Filter Est. 71997522 rows
│ │ │ Condition: Runtime Filters: {wr_order_number}
│ │ └─ TableScan tpcds1000_sample.web_returns Est. 71997522 rows
│ │ Where: Runtime Filters: {wr_order_number}
│ │ Outputs: [wr_order_number]
│ └─ Repartition Exchange Est. 720000376 rows
│ │ Partition by: {ws_order_number_5}
│ └─ Filter Est. 720000376 rows
│ │ Condition: Runtime Filters: {ws_order_number_5}
│ └─ TableScan tpcds1000_sample.web_sales Est. 720000376 rows
│ Where: Runtime Filters: {ws_order_number}
│ Outputs: ws_warehouse_sk_6:=ws_warehouse_sk, ws_order_number_5:=ws_order_number
└─ Repartition Exchange Est. 100621 rows
│ Partition by: {ws_order_number}
└─ Inner Join Est. 100621 rows
│ Condition: ws_web_site_sk == web_site_sk
│ Runtime Filters Builder: {web_site_sk}
├─ Inner Join Est. 679192 rows
│ │ Condition: ws_ship_addr_sk == ca_address_sk
│ │ Runtime Filters Builder: {ca_address_sk}
│ ├─ Inner Join Est. 21829405 rows
│ │ │ Condition: ws_ship_date_sk == d_date_sk
│ │ │ Runtime Filters Builder: {d_date_sk}
│ │ ├─ Filter Est. 720000376 rows
│ │ │ │ Condition: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ └─ TableScan tpcds1000_sample.web_sales Est. 720000376 rows
│ │ │ Where: Runtime Filters: {ws_ship_addr_sk, ws_ship_date_sk, ws_web_site_sk}
│ │ │ Outputs: [ws_ship_date_sk, ws_ship_addr_sk, ws_web_site_sk, ws_order_number, ws_ext_ship_cost, ws_net_profit]
│ │ └─ Broadcast Exchange Est. 60 rows
│ │ └─ Projection Est. 60 rows
│ │ │ Expressions: [d_date_sk]
│ │ └─ Filter Est. 60 rows
│ │ │ Condition: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ └─ TableScan tpcds1000_sample.date_dim Est. 73049 rows
│ │ Where: (d_date >= cast(10623, 'Date32')) AND (d_date <= cast(10683, 'Date32'))
│ │ Outputs: [d_date_sk, d_date]
│ └─ Broadcast Exchange Est. 188699 rows
│ └─ Projection Est. 188699 rows
│ │ Expressions: [ca_address_sk]
│ └─ Filter Est. 188699 rows
│ │ Condition: ca_state = 'IL'
│ └─ TableScan tpcds1000_sample.customer_address Est. 6000000 rows
│ Where: ca_state = 'IL'
│ Outputs: [ca_address_sk, ca_state]
└─ Broadcast Exchange Est. 8 rows
└─ Projection Est. 8 rows
│ Expressions: [web_site_sk]
└─ Filter Est. 8 rows
│ Condition: web_company_name = 'pri'
└─ TableScan tpcds1000_sample.web_site Est. 54 rows
Where: web_company_name = 'pri'
Outputs: [web_site_sk, web_company_name]
note: Runtime Filter is applied for 6 times.

View File

@ -1,37 +1,28 @@
Projection Est. 1000 rows, cost 1.507500e+02
Projection Est. 1000 rows, cost 1.495000e+02
│ Expressions: _1700031876736:=`expr#count()`, _1700031897102:=`expr#CAST(avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 30000), 1, 0)), \'Nullable(Float64)\')`, _1700046658469:=`expr#if(arraySetCheck(vids, \'8683112\'), \'8683112\', if(arraySetCheck(vids, \'8683113\'), \'8683113\', \'other\'))`, _1700047638968:=`expr#CAST(avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 60000), 1, 0)), \'Nullable(Float64)\')`, _avg_1700031876697_4700826bc6c9c490e9a7756937dd1f6e:=`expr#avg(mapElement(model_label, \'staytime\'))`, _countdistinct_1700031876715:=`expr#uniqExact(uid)`, _sum_1700046657800:=`expr#sum(multiIf(greater(arrayElement(label, 31), 0), 1, 0))`, _sum_1700046657811:=`expr#sum(multiIf(greaterOrEquals(arrayElement(label, 1), 1), 1, 0))`, _sum_1700046657910:=`expr#sum(arrayElement(label, 32))`
└─ Projection Est. 1000 rows, cost 7.675000e+01
└─ Projection Est. 1000 rows, cost 7.550000e+01
│ Expressions: [expr#avg(mapElement(model_label, \'staytime\')), expr#count(), expr#if(arraySetCheck(vids, \'8683112\'), \'8683112\', if(arraySetCheck(vids, \'8683113\'), \'8683113\', \'other\')), expr#sum(arrayElement(label, 32)), expr#sum(multiIf(greater(arrayElement(label, 31), 0), 1, 0)), expr#sum(multiIf(greaterOrEquals(arrayElement(label, 1), 1), 1, 0)), expr#uniqExact(uid)], expr#CAST(avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 30000), 1, 0)), \'Nullable(Float64)\'):=CAST(`expr#avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 30000), 1, 0))`, \'Nullable(Float64)\'), expr#CAST(avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 60000), 1, 0)), \'Nullable(Float64)\'):=CAST(`expr#avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 60000), 1, 0))`, \'Nullable(Float64)\')
└─ Limit Est. 1000 rows, cost 2.750000e+00
└─ Limit Est. 1000 rows, cost 1.500000e+00
│ Limit: 1000
└─ Gather Exchange Est. 1000 rows, cost 2.750000e+00
└─ Limit Est. 1000 rows, cost 2.750000e+00
└─ Gather Exchange Est. 1000 rows, cost 1.500000e+00
└─ Limit Est. 1000 rows, cost 1.500000e+00
│ Limit: 1000
└─ MergingAggregated Est. ? rows, cost 2.750000e+00
└─ Repartition Exchange Est. ? rows, cost 2.750000e+00
└─ MergingAggregated Est. ? rows, cost 1.500000e+00
└─ Repartition Exchange Est. ? rows, cost 1.500000e+00
│ Partition by: {expr#if(arraySetCheck(vids, \'8683112\'), \'8683112\', if(arraySetCheck(vids, \'8683113\'), \'8683113\', \'other\'))}
└─ Aggregating Est. ? rows, cost 1.250000e+00
└─ Aggregating Est. ? rows, cost 0.000000e+00
│ Group by: {expr#if(arraySetCheck(vids, \'8683112\'), \'8683112\', if(arraySetCheck(vids, \'8683113\'), \'8683113\', \'other\'))}
│ Aggregates: expr#sum(multiIf(greater(arrayElement(label, 31), 0), 1, 0)):=AggNull(anyIf)(expr#sum(multiIf(greater(arrayElement(label, 31), 0), 1, 0)),group_id_mask), expr#sum(arrayElement(label, 32)):=AggNull(anyIf)(expr#sum(arrayElement(label, 32)),group_id_mask), expr#sum(multiIf(greaterOrEquals(arrayElement(label, 1), 1), 1, 0)):=AggNull(anyIf)(expr#sum(multiIf(greaterOrEquals(arrayElement(label, 1), 1), 1, 0)),group_id_mask), expr#count():=AggNull(anyIf)(expr#count(),group_id_mask), expr#uniqExact(uid):=AggNull(countIf)(uid,group_id_mask_1), expr#avg(mapElement(model_label, \'staytime\')):=AggNull(anyIf)(expr#avg(mapElement(model_label, \'staytime\')),group_id_mask), expr#avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 30000), 1, 0)):=AggNull(anyIf)(expr#avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 30000), 1, 0)),group_id_mask), expr#avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 60000), 1, 0)):=AggNull(anyIf)(expr#avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 60000), 1, 0)),group_id_mask)
└─ Projection Est. ? rows, cost 1.250000e+00
│ Expressions: [expr#avg(mapElement(model_label, \'staytime\')), expr#avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 30000), 1, 0)), expr#avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 60000), 1, 0)), expr#count(), expr#if(arraySetCheck(vids, \'8683112\'), \'8683112\', if(arraySetCheck(vids, \'8683113\'), \'8683113\', \'other\')), expr#sum(arrayElement(label, 32)), expr#sum(multiIf(greater(arrayElement(label, 31), 0), 1, 0)), expr#sum(multiIf(greaterOrEquals(arrayElement(label, 1), 1), 1, 0)), uid], group_id_mask:=group_id = 0, group_id_mask_1:=group_id = 1
└─ MergingAggregated Est. ? rows, cost 1.250000e+00
└─ Repartition Exchange Est. ? rows, cost 1.250000e+00
│ Partition by: {expr#if(arraySetCheck(vids, \'8683112\'), \'8683112\', if(arraySetCheck(vids, \'8683113\'), \'8683113\', \'other\')), group_id, uid}
└─ Aggregating Est. ? rows, cost 0.000000e+00
│ Group by: {expr#if(arraySetCheck(vids, \'8683112\'), \'8683112\', if(arraySetCheck(vids, \'8683113\'), \'8683113\', \'other\')), group_id, uid}
│ Aggregates: expr#sum(multiIf(greater(arrayElement(label, 31), 0), 1, 0)):=AggNull(sum)(expr#multiIf(greater(arrayElement(label, 31), 0), 1, 0)), expr#sum(arrayElement(label, 32)):=AggNull(sum)(expr#arrayElement(label, 32)), expr#sum(multiIf(greaterOrEquals(arrayElement(label, 1), 1), 1, 0)):=AggNull(sum)(expr#multiIf(greaterOrEquals(arrayElement(label, 1), 1), 1, 0)), expr#count():=AggNull(count)(), expr#avg(mapElement(model_label, \'staytime\')):=AggNull(avg)(__model_label__\'staytime\'), expr#avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 30000), 1, 0)):=AggNull(avg)(expr#multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 30000), 1, 0)), expr#avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 60000), 1, 0)):=AggNull(avg)(expr#multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 60000), 1, 0))
└─ Expand Est. ? rows, cost 0.000000e+00
└─ Projection Est. ? rows, cost 0.000000e+00
│ Expressions: [__model_label__\'staytime\', uid], expr#arrayElement(label, 32):=label[32], expr#if(arraySetCheck(vids, \'8683112\'), \'8683112\', if(arraySetCheck(vids, \'8683113\'), \'8683113\', \'other\')):=if(`arraySetCheck(vids, \'8683112\')`, \'8683112\', if(`arraySetCheck(vids, \'8683113\')`, \'8683113\', \'other\')), expr#multiIf(greater(arrayElement(label, 31), 0), 1, 0):=multiIf((label[31]) > 0, 1, 0), expr#multiIf(greaterOrEquals(arrayElement(label, 1), 1), 1, 0):=multiIf((label[1]) >= 1, 1, 0), expr#multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 30000), 1, 0):=multiIf(`__model_label__\'staytime\'` >= 30000, 1, 0), expr#multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 60000), 1, 0):=multiIf(`__model_label__\'staytime\'` >= 60000, 1, 0)
└─ Filter Est. ? rows, cost 0.000000e+00
│ Condition: `expr#arrayJoin(assumeNotNull(split(mapElement(string_params, \'g_recall_reasons\'), \',\')))` = \'aaebvr\'
└─ Projection Est. ? rows, cost 0.000000e+00
│ Expressions: [__model_label__\'staytime\', arraySetCheck(vids, \'8683112\'), arraySetCheck(vids, \'8683113\'), label, uid], expr#arrayJoin(assumeNotNull(split(mapElement(string_params, \'g_recall_reasons\'), \',\'))):=arrayJoin(assumeNotNull(split(`__string_params__\'g_recall_reasons\'`, \',\')))
└─ Filter Est. ? rows, cost 0.000000e+00
│ Condition: (if(`arraySetCheck(vids, \'8683112\')`, \'8683112\', if(`arraySetCheck(vids, \'8683113\')`, \'8683113\', \'other\')) IN (\'8683112\', \'8683113\')) AND (toDateTime(req_time) >= cast(1712869200, \'DateTime\')) AND (toDateTime(req_time) <= cast(1712905199, \'DateTime\')) AND (app_id = \'13\') AND (`__string_params__\'chnid\'` = \'94349560412\')
└─ TableScan default.t40094_bitmap_index Est. ? rows, cost 0.000000e+00
Partition filter: toDate(req_time) = cast(19825, \'Date\')
Where: (toDateTime(req_time) >= cast(1712869200, \'DateTime\')) AND (toDateTime(req_time) <= cast(1712905199, \'DateTime\')) AND (app_id = \'13\') AND (`__string_params__\'chnid\'` = \'94349560412\')
Inline expressions: [arraySetCheck(vids, \'8683112\'):=arraySetCheck(vids, \'8683112\'), arraySetCheck(vids, \'8683113\'):=arraySetCheck(vids, \'8683113\')]
Outputs: [req_time, uid, app_id, __model_label__\'staytime\', label, __string_params__\'g_recall_reasons\', __string_params__\'chnid\']
│ Aggregates: expr#sum(multiIf(greater(arrayElement(label, 31), 0), 1, 0)):=AggNull(sum)(expr#multiIf(greater(arrayElement(label, 31), 0), 1, 0)), expr#sum(arrayElement(label, 32)):=AggNull(sum)(expr#arrayElement(label, 32)), expr#sum(multiIf(greaterOrEquals(arrayElement(label, 1), 1), 1, 0)):=AggNull(sum)(expr#multiIf(greaterOrEquals(arrayElement(label, 1), 1), 1, 0)), expr#count():=AggNull(count)(), expr#uniqExact(uid):=AggNull(uniqExact)(uid), expr#avg(mapElement(model_label, \'staytime\')):=AggNull(avg)(__model_label__\'staytime\'), expr#avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 30000), 1, 0)):=AggNull(avg)(expr#multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 30000), 1, 0)), expr#avg(multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 60000), 1, 0)):=AggNull(avg)(expr#multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 60000), 1, 0))
└─ Projection Est. ? rows, cost 0.000000e+00
│ Expressions: [__model_label__\'staytime\', uid], expr#arrayElement(label, 32):=label[32], expr#if(arraySetCheck(vids, \'8683112\'), \'8683112\', if(arraySetCheck(vids, \'8683113\'), \'8683113\', \'other\')):=if(`arraySetCheck(vids, \'8683112\')`, \'8683112\', if(`arraySetCheck(vids, \'8683113\')`, \'8683113\', \'other\')), expr#multiIf(greater(arrayElement(label, 31), 0), 1, 0):=multiIf((label[31]) > 0, 1, 0), expr#multiIf(greaterOrEquals(arrayElement(label, 1), 1), 1, 0):=multiIf((label[1]) >= 1, 1, 0), expr#multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 30000), 1, 0):=multiIf(`__model_label__\'staytime\'` >= 30000, 1, 0), expr#multiIf(greaterOrEquals(mapElement(model_label, \'staytime\'), 60000), 1, 0):=multiIf(`__model_label__\'staytime\'` >= 60000, 1, 0)
└─ Filter Est. ? rows, cost 0.000000e+00
│ Condition: `expr#arrayJoin(assumeNotNull(split(mapElement(string_params, \'g_recall_reasons\'), \',\')))` = \'aaebvr\'
└─ Projection Est. ? rows, cost 0.000000e+00
│ Expressions: [__model_label__\'staytime\', arraySetCheck(vids, \'8683112\'), arraySetCheck(vids, \'8683113\'), label, uid], expr#arrayJoin(assumeNotNull(split(mapElement(string_params, \'g_recall_reasons\'), \',\'))):=arrayJoin(assumeNotNull(split(`__string_params__\'g_recall_reasons\'`, \',\')))
└─ Filter Est. ? rows, cost 0.000000e+00
│ Condition: (if(`arraySetCheck(vids, \'8683112\')`, \'8683112\', if(`arraySetCheck(vids, \'8683113\')`, \'8683113\', \'other\')) IN (\'8683112\', \'8683113\')) AND (toDateTime(req_time) >= cast(1712869200, \'DateTime\')) AND (toDateTime(req_time) <= cast(1712905199, \'DateTime\')) AND (app_id = \'13\') AND (`__string_params__\'chnid\'` = \'94349560412\')
└─ TableScan default.t40094_bitmap_index Est. ? rows, cost 0.000000e+00
Partition filter: toDate(req_time) = cast(19825, \'Date\')
Where: (toDateTime(req_time) >= cast(1712869200, \'DateTime\')) AND (toDateTime(req_time) <= cast(1712905199, \'DateTime\')) AND (app_id = \'13\') AND (`__string_params__\'chnid\'` = \'94349560412\')
Inline expressions: [arraySetCheck(vids, \'8683112\'):=arraySetCheck(vids, \'8683112\'), arraySetCheck(vids, \'8683113\'):=arraySetCheck(vids, \'8683113\')]
Outputs: [req_time, uid, app_id, __model_label__\'staytime\', label, __string_params__\'g_recall_reasons\', __string_params__\'chnid\']