jiaqizho commented on PR #1014:
URL: https://github.com/apache/cloudberry/pull/1014#issuecomment-2757258520
For the tpcds-sql-67. local 10G
plan without split window function:
```
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
Limit (cost=0.00..7038.29 rows=100 width=68) (actual
time=10153.758..10154.752 rows=100 loops=1)
-> Gather Motion 3:1 (slice1; segments: 3) (cost=0.00..7038.28
rows=100 width=68) (actual time=10153.748..10154.707 rows=100 loops=1)
Merge Key: share0_ref2.i_category, share0_ref2.i_class,
share0_ref2.i_brand, share0_ref2.i_product_name, share0_ref2.d_year,
share0_ref2.d_qoy, share0_ref2.d_moy, share0_ref2.s_store_id, (sum(COALESCE((sha
re0_ref2.ss_sales_price * (share0_ref2.ss_quantity)::numeric),
'0'::numeric))), (rank() OVER (?))
-> Limit (cost=0.00..7038.25 rows=34 width=68) (actual
time=10150.843..10150.932 rows=100 loops=1)
-> Sort (cost=0.00..7038.25 rows=38131 width=68) (actual
time=10150.834..10150.848 rows=100 loops=1)
Sort Key: share0_ref2.i_category, share0_ref2.i_class,
share0_ref2.i_brand, share0_ref2.i_product_name, share0_ref2.d_year,
share0_ref2.d_qoy, share0_ref2.d_moy, share0_ref2.s_store_id, (sum(CO
ALESCE((share0_ref2.ss_sales_price * (share0_ref2.ss_quantity)::numeric),
'0'::numeric))), (rank() OVER (?))
Sort Method: top-N heapsort Memory: 77kB
Sort Method: quicksort Memory: 52kB
-> Result (cost=0.00..6814.51 rows=38131 width=68)
(actual time=9072.669..10148.623 rows=500 loops=1)
Filter: ((rank() OVER (?)) <= 100)
-> WindowAgg (cost=0.00..6811.38 rows=95327
width=68) (actual time=9072.660..10119.180 rows=208682 loops=1)
Partition By: share0_ref2.i_category
Order By:
(sum(COALESCE((share0_ref2.ss_sales_price *
(share0_ref2.ss_quantity)::numeric), '0'::numeric)))
-> Sort (cost=0.00..6805.66 rows=95327
width=60) (actual time=9072.576..9414.017 rows=208682 loops=1)
Sort Key: share0_ref2.i_category,
(sum(COALESCE((share0_ref2.ss_sales_price *
(share0_ref2.ss_quantity)::numeric), '0'::numeric))) DESC
Sort Method: external merge Disk:
48480kB
-> Redistribute Motion 3:3 (slice2;
segments: 3) (cost=0.00..6269.25 rows=95327 width=60) (actual
time=3027.517..7256.960 rows=208682 loops=1)
Hash Key: share0_ref2.i_category
-> Sequence
(cost=0.00..6251.34 rows=95327 width=60) (actual time=3018.873..6660.456
rows=172882 loops=1)
-> Shared Scan (share
slice:id 2:0) (cost=0.00..2209.68 rows=182629 width=1) (actual
time=2383.044..2383.075 rows=0 loops=1)
-> Hash Join
(cost=0.00..2209.50 rows=182629 width=89) (actual time=24.197..2274.242
rows=181070 loops=1)
Hash Cond:
(store_sales.ss_item_sk = item.i_item_sk)
Extra Text:
(seg1) Hash chain length 1.4 avg, 5 max, using 4330 of 8192 buckets.
-> Hash Join
(cost=0.00..1675.53 rows=182629 width=43) (actual time=9.717..2123.126
rows=181070 loops=1)
Hash
Cond: (store_sales.ss_store_sk = store.s_store_sk)
Extra
Text: (seg1) Hash chain length 1.0 avg, 1 max, using 12 of 16384 buckets.
->
Hash Join (cost=0.00..1181.96 rows=182629 width=30) (actual
time=7.809..1846.978 rows=185482 loops=1)
Hash Cond: (store_sales.ss_sold_date_sk = date_dim.d_date_sk)
Extra Text: (seg1) Hash chain length 1.0 avg, 2 max, using 362 of 16384
buckets.
-> Seq Scan on store_sales (cost=0.00..509.68 rows=960135 width=22) (actual
time=7.419..822.884 rows=980715 loops=1)
-> Hash (cost=433.91..433.91 rows=347 width=16) (actual time=0.294..0.301
rows=366 loops=1)
Buckets: 16384 Batches: 1 Memory Usage: 146kB
-> Broadcast Motion 3:3 (slice3; segments: 3) (cost=0.00..433.91
rows=347 width=16) (actual time=0.056..0.186 rows=366 loops=1)
-> Seq Scan on date_dim (cost=0.00..433.81 rows=116 width=16)
(actual time=10.089..14.519 rows=131 loops=1)
Filter: ((d_month_seq >= 1194) AND (d_month_seq <= 1205))
->
Hash (cost=431.00..431.00 rows=12 width=21) (actual time=2.079..2.082 rows=12
loops=1)
Buckets: 16384 Batches: 1 Memory Usage: 129kB
-> Seq Scan on store (cost=0.00..431.00 rows=12 width=21) (actual
time=2.055..2.068 rows=12 loops=1)
-> Hash
(cost=432.00..432.00 rows=6000 width=54) (actual time=14.257..14.261 rows=6106
loops=1)
Buckets: 8192 Batches: 1 Memory Usage: 588kB
-> Seq
Scan on item (cost=0.00..432.00 rows=6000 width=54) (actual time=6.114..10.397
rows=6106 loops=1)
-> Append
(cost=0.00..4035.94 rows=95327 width=60) (actual time=923.653..4546.777
rows=172882 loops=1)
-> HashAggregate
(cost=0.00..463.83 rows=20780 width=87) (actual time=555.017..1181.432
rows=113790 loops=1)
Group Key:
share0_ref2.i_category, share0_ref2.i_class, share0_ref2.i_brand,
share0_ref2.i_product_name, share0_ref2.d_year, share0_ref2.d_qoy, share0_
ref2.d_moy, share0_ref2.s_store_id
->
Redistribute Motion 3:3 (slice4; segments: 3) (cost=0.00..441.25 rows=20780
width=89) (actual time=2.425..507.919 rows=177732 loops=1)
Hash
Key: share0_ref2.i_category, share0_ref2.i_class, share0_ref2.i_brand,
share0_ref2.i_product_name, share0_ref2.d_year, share0_ref2.d_qoy, sh
are0_ref2.d_moy, share0_ref2.s_store_id
->
Shared Scan (share slice:id 4:0) (cost=0.00..435.46 rows=20780 width=89)
(actual time=2470.814..2535.839 rows=181070 loops=1)
-> HashAggregate
(cost=0.00..458.70 rows=20780 width=70) (actual time=508.477..832.686
rows=36087 loops=1)
Group Key:
share0_ref3.i_category, share0_ref3.i_class, share0_ref3.i_brand,
share0_ref3.i_product_name, share0_ref3.d_year, share0_ref3.d_qoy, share0_
ref3.d_moy
->
Redistribute Motion 3:3 (slice5; segments: 3) (cost=0.00..439.29 rows=20780
width=72) (actual time=0.048..103.865 rows=179338 loops=1)
Hash
Key: share0_ref3.i_category, share0_ref3.i_class, share0_ref3.i_brand,
share0_ref3.i_product_name, share0_ref3.d_year, share0_ref3.d_qoy, sh
are0_ref3.d_moy
->
Result (cost=0.00..434.61 rows=20780 width=72) (actual time=2469.669..2613.962
rows=181070 loops=1)
-> Shared Scan (share slice:id 5:0) (cost=0.00..434.61 rows=20780 width=72)
(actual time=2469.656..2536.910 rows=181070 loops=1)
-> HashAggregate
(cost=0.00..455.48 rows=20780 width=66) (actual time=548.505..686.800
rows=12622 loops=1)
Group Key:
share0_ref4.i_category, share0_ref4.i_class, share0_ref4.i_brand,
share0_ref4.i_product_name, share0_ref4.d_year, share0_ref4.d_qoy
->
Redistribute Motion 3:3 (slice6; segments: 3) (cost=0.00..438.83 rows=20780
width=68) (actual time=0.044..113.228 rows=181268 loops=1)
Hash
Key: share0_ref4.i_category, share0_ref4.i_class, share0_ref4.i_brand,
share0_ref4.i_product_name, share0_ref4.d_year, share0_ref4.d_qoy
->
Result (cost=0.00..434.41 rows=20780 width=68) (actual time=2472.245..2605.584
rows=181070 loops=1)
-> Shared Scan (share slice:id 6:0) (cost=0.00..434.41 rows=20780 width=68)
(actual time=2472.232..2535.078 rows=181070 loops=1)
-> HashAggregate
(cost=0.00..452.28 rows=20780 width=62) (actual time=513.952..522.977 rows=6384
loops=1)
Group Key:
share0_ref5.i_category, share0_ref5.i_class, share0_ref5.i_brand,
share0_ref5.i_product_name, share0_ref5.d_year
->
Redistribute Motion 3:3 (slice7; segments: 3) (cost=0.00..438.37 rows=20780
width=64) (actual time=0.041..97.226 rows=179875 loops=1)
Hash
Key: share0_ref5.i_category, share0_ref5.i_class, share0_ref5.i_brand,
share0_ref5.i_product_name, share0_ref5.d_year
->
Result (cost=0.00..434.20 rows=20780 width=64) (actual time=2470.839..2604.703
rows=181070 loops=1)
-> Shared Scan (share slice:id 7:0) (cost=0.00..434.20 rows=20780 width=64)
(actual time=2470.826..2535.443 rows=181070 loops=1)
-> HashAggregate
(cost=0.00..448.62 rows=6000 width=58) (actual time=475.644..482.095 rows=4043
loops=1)
Group Key:
share0_ref6.i_category, share0_ref6.i_class, share0_ref6.i_brand,
share0_ref6.i_product_name
->
Redistribute Motion 3:3 (slice8; segments: 3) (cost=0.00..437.91 rows=20780
width=60) (actual time=0.044..91.095 rows=179371 loops=1)
Hash
Key: share0_ref6.i_category, share0_ref6.i_class, share0_ref6.i_brand,
share0_ref6.i_product_name
->
Result (cost=0.00..434.00 rows=20780 width=60) (actual time=2472.201..2602.562
rows=181070 loops=1)
-> Shared Scan (share slice:id 8:0) (cost=0.00..434.00 rows=20780 width=60)
(actual time=2472.189..2535.728 rows=181070 loops=1)
-> HashAggregate
(cost=0.00..443.60 rows=6000 width=39) (actual time=451.286..451.735 rows=326
loops=1)
Group Key:
share0_ref7.i_category, share0_ref7.i_class, share0_ref7.i_brand
->
Redistribute Motion 3:3 (slice9; segments: 3) (cost=0.00..435.72 rows=20780
width=41) (actual time=0.075..98.432 rows=190111 loops=1)
Hash
Key: share0_ref7.i_category, share0_ref7.i_class, share0_ref7.i_brand
->
Result (cost=0.00..433.05 rows=20780 width=41) (actual time=2469.274..2596.752
rows=181070 loops=1)
-> Shared Scan (share slice:id 9:0) (cost=0.00..433.05 rows=20780 width=41)
(actual time=2469.261..2531.998 rows=181070 loops=1)
-> Finalize
HashAggregate (cost=0.00..437.37 rows=207 width=22) (actual time=0.453..0.508
rows=44 loops=1)
Group Key:
share0_ref8.i_category, share0_ref8.i_class
->
Redistribute Motion 3:3 (slice10; segments: 3) (cost=0.00..437.31 rows=207
width=22) (actual time=0.031..0.081 rows=114 loops=1)
Hash
Key: share0_ref8.i_category, share0_ref8.i_class
->
Streaming Partial HashAggregate (cost=0.00..437.30 rows=207 width=22) (actual
time=2783.335..2783.560 rows=113 loops=1)
Group Key: share0_ref8.i_category, share0_ref8.i_class
-> Shared Scan (share slice:id 10:0) (cost=0.00..432.20 rows=20780 width=24)
(actual time=2471.185..2536.471 rows=181070 loops=1)
-> Finalize
HashAggregate (cost=0.00..434.33 rows=4 width=14) (actual time=0.071..0.077
rows=5 loops=1)
Group Key:
share0_ref9.i_category
->
Redistribute Motion 3:3 (slice11; segments: 3) (cost=0.00..434.33 rows=4
width=14) (actual time=0.006..0.019 rows=15 loops=1)
Hash
Key: share0_ref9.i_category
->
Streaming Partial HashAggregate (cost=0.00..434.33 rows=4 width=14) (actual
time=2725.057..2725.078 rows=11 loops=1)
Group Key: share0_ref9.i_category
-> Shared Scan (share slice:id 11:0) (cost=0.00..431.80 rows=20780 width=16)
(actual time=2471.775..2539.370 rows=181070 loops=1)
-> Result
(cost=0.00..431.55 rows=1 width=60) (actual time=0.013..0.014 rows=1 loops=1)
->
Redistribute Motion 1:3 (slice12) (cost=0.00..431.55 rows=1 width=8) (actual
time=0.007..0.007 rows=1 loops=1)
->
Finalize Aggregate (cost=0.00..431.55 rows=1 width=8) (actual
time=2707.500..2707.501 rows=1 loops=1)
-> Gather Motion 3:1 (slice13; segments: 3) (cost=0.00..431.55 rows=1
width=8) (actual time=2322.799..2707.346 rows=3 loops=1)
-> Partial Aggregate (cost=0.00..431.55 rows=1 width=8) (actual
time=2613.818..2613.820 rows=1 loops=1)
-> Shared Scan (share slice:id 13:0) (cost=0.00..431.50 rows=20780
width=10) (actual time=2469.559..2537.793 rows=181070 loop
s=1)
Planning Time: 762.569 ms
(slice0) Executor memory: 4122K bytes.
(slice1) Executor memory: 11153K bytes avg x 3x(0) workers, 11186K
bytes max (seg2). Work_mem: 9702K bytes max.
(slice2) Executor memory: 50497K bytes avg x 3x(0) workers, 50543K
bytes max (seg2). Work_mem: 7081K bytes max.
(slice3) Executor memory: 15830K bytes avg x 3x(0) workers, 15830K
bytes max (seg0).
(slice4) Executor memory: 115K bytes avg x 3x(0) workers, 115K bytes
max (seg0).
(slice5) Executor memory: 116K bytes avg x 3x(0) workers, 116K bytes
max (seg0).
(slice6) Executor memory: 116K bytes avg x 3x(0) workers, 116K bytes
max (seg0).
(slice7) Executor memory: 116K bytes avg x 3x(0) workers, 116K bytes
max (seg0).
(slice8) Executor memory: 116K bytes avg x 3x(0) workers, 116K bytes
max (seg0).
(slice9) Executor memory: 116K bytes avg x 3x(0) workers, 116K bytes
max (seg0).
(slice10) Executor memory: 136K bytes avg x 3x(0) workers, 136K bytes
max (seg0). Work_mem: 96K bytes max.
(slice11) Executor memory: 127K bytes avg x 3x(0) workers, 127K bytes
max (seg0). Work_mem: 24K bytes max.
(slice12) Executor memory: 121K bytes (entry db).
(slice13) Executor memory: 122K bytes avg x 3x(0) workers, 122K bytes
max (seg0).
Memory used: 128000kB
Optimizer: GPORCA
Execution Time: 10267.048 ms
(115 rows)
```
plan with the split window function:
```
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
Limit (cost=0.00..225.03 rows=100 width=68) (actual
time=8575.970..8576.110 rows=100 loops=1)
-> Gather Motion 3:1 (slice1; segments: 3) (cost=0.00..225.02 rows=100
width=68) (actual time=8575.963..8576.059 rows=100 loops=1)
Merge Key: share0_ref2.i_category, share0_ref2.i_class,
share0_ref2.i_brand, share0_ref2.i_product_name, share0_ref2.d_year,
share0_ref2.d_qoy, share0_ref2.d_moy, share0_ref2.s_store_id, (sum(COALESCE((sha
re0_ref2.ss_sales_price * (share0_ref2.ss_quantity)::numeric),
'0'::numeric))), (rank() OVER (?))
-> Limit (cost=0.00..225.00 rows=34 width=68) (actual
time=8572.731..8572.780 rows=100 loops=1)
-> Sort (cost=0.00..224.99 rows=38131 width=68) (actual
time=8572.729..8572.742 rows=100 loops=1)
Sort Key: share0_ref2.i_category, share0_ref2.i_class,
share0_ref2.i_brand, share0_ref2.i_product_name, share0_ref2.d_year,
share0_ref2.d_qoy, share0_ref2.d_moy, share0_ref2.s_store_id, (sum(CO
ALESCE((share0_ref2.ss_sales_price * (share0_ref2.ss_quantity)::numeric),
'0'::numeric))), (rank() OVER (?))
Sort Method: top-N heapsort Memory: 77kB
Sort Method: quicksort Memory: 52kB
-> Result (cost=0.00..1.25 rows=38131 width=68)
(actual time=8566.463..8571.973 rows=500 loops=1)
Filter: ((rank() OVER (?)) <= 100)
-> WindowAgg (cost=0.00..0.00 rows=38131
width=68) (actual time=8566.457..8571.644 rows=1502 loops=1)
Partition By: share0_ref2.i_category
Order By:
(sum(COALESCE((share0_ref2.ss_sales_price *
(share0_ref2.ss_quantity)::numeric), '0'::numeric)))
-> Sort (cost=0.00..7001.19 rows=38131
width=60) (actual time=8566.419..8566.636 rows=1502 loops=1)
Sort Key: share0_ref2.i_category,
(sum(COALESCE((share0_ref2.ss_sales_price *
(share0_ref2.ss_quantity)::numeric), '0'::numeric))) DESC
Sort Method: quicksort Memory: 573kB
-> Redistribute Motion 3:3 (slice2;
segments: 3) (cost=0.00..6803.77 rows=38131 width=60) (actual
time=8088.035..8559.296 rows=1502 loops=1)
Hash Key: share0_ref2.i_category
-> Result (cost=0.00..6796.61
rows=38131 width=60) (actual time=7650.464..8518.159 rows=1101 loops=1)
Filter: ((rank() OVER
(?)) <= 100)
-> WindowAgg
(cost=0.00..6793.47 rows=95327 width=68) (actual time=7653.856..8526.190
rows=172883 loops=1)
Partition By:
share0_ref2.i_category
Order By:
(sum(COALESCE((share0_ref2.ss_sales_price *
(share0_ref2.ss_quantity)::numeric), '0'::numeric)))
-> Sort
(cost=0.00..6787.76 rows=95327 width=60) (actual time=7653.805..7940.998
rows=172883 loops=1)
Sort Key:
share0_ref2.i_category, (sum(COALESCE((share0_ref2.ss_sales_price *
(share0_ref2.ss_quantity)::numeric), '0'::numeric))) DESC
Sort Method:
external merge Disk: 48512kB
-> Sequence
(cost=0.00..6251.34 rows=95327 width=60) (actual time=2669.672..6258.307
rows=172883 loops=1)
->
Shared Scan (share slice:id 2:0) (cost=0.00..2209.68 rows=182629 width=1)
(actual time=2024.389..2024.427 rows=0 loops=1)
-> Hash Join (cost=0.00..2209.50 rows=182629 width=89) (actual
time=22.931..1721.069 rows=181070 loops=1)
Hash Cond: (store_sales.ss_item_sk = item.i_item_sk)
Extra Text: (seg1) Hash chain length 1.4 avg, 5 max, using 4330 of 8192
buckets.
-> Hash Join (cost=0.00..1675.53 rows=182629 width=43) (actual
time=8.004..1515.153 rows=181070 loops=1)
Hash Cond: (store_sales.ss_store_sk = store.s_store_sk)
Extra Text: (seg1) Hash chain length 1.0 avg, 1 max, using 12 of
16384 buckets.
-> Hash Join (cost=0.00..1181.96 rows=182629 width=30) (actual
time=6.040..1344.056 rows=185482 loops=1)
Hash Cond: (store_sales.ss_sold_date_sk = date_dim.d_date_sk)
Extra Text: (seg1) Hash chain length 1.0 avg, 2 max, using
362 of 16384 buckets.
-> Seq Scan on store_sales (cost=0.00..509.68 rows=960135
width=22) (actual time=5.646..863.817 rows=980715 loops=1)
-> Hash (cost=433.91..433.91 rows=347 width=16) (actual
time=0.270..0.284 rows=366 loops=1)
Buckets: 16384 Batches: 1 Memory Usage: 146kB
-> Broadcast Motion 3:3 (slice3; segments: 3)
(cost=0.00..433.91 rows=347 width=16) (actual time=0.054..0.175 ro
ws=366 loops=1)
-> Seq Scan on date_dim (cost=0.00..433.81
rows=116 width=16) (actual time=9.347..13.743 rows=131 loops=1)
Filter: ((d_month_seq >= 1194) AND
(d_month_seq <= 1205))
-> Hash (cost=431.00..431.00 rows=12 width=21) (actual
time=1.866..1.869 rows=12 loops=1)
Buckets: 16384 Batches: 1 Memory Usage: 129kB
-> Seq Scan on store (cost=0.00..431.00 rows=12 width=21)
(actual time=1.843..1.855 rows=12 loops=1)
-> Hash (cost=432.00..432.00 rows=6000 width=54) (actual
time=14.732..14.734 rows=6106 loops=1)
Buckets: 8192 Batches: 1 Memory Usage: 588kB
-> Seq Scan on item (cost=0.00..432.00 rows=6000 width=54) (actual
time=6.420..10.918 rows=6106 loops=1)
->
Append (cost=0.00..4035.94 rows=95327 width=60) (actual time=521.061..4086.452
rows=172883 loops=1)
-> HashAggregate (cost=0.00..463.83 rows=20780 width=87) (actual
time=770.509..1383.728 rows=113790 loops=1)
Group Key: share0_ref2.i_category, share0_ref2.i_class,
share0_ref2.i_brand, share0_ref2.i_product_name, share0_ref2.d_year, share0_r
ef2.d_qoy, share0_ref2.d_moy, share0_ref2.s_store_id
-> Redistribute Motion 3:3 (slice4; segments: 3) (cost=0.00..441.25
rows=20780 width=89) (actual time=0.039..116.175 rows=177732 l
oops=1)
Hash Key: share0_ref2.i_category, share0_ref2.i_class,
share0_ref2.i_brand, share0_ref2.i_product_name, share0_ref2.d_year, sha
re0_ref2.d_qoy, share0_ref2.d_moy, share0_ref2.s_store_id
-> Shared Scan (share slice:id 4:0) (cost=0.00..435.46 rows=20780
width=89) (actual time=1903.949..1968.391 rows=181070 loops
=1)
-> HashAggregate (cost=0.00..458.70 rows=20780 width=70) (actual
time=492.523..815.136 rows=36087 loops=1)
Group Key: share0_ref3.i_category, share0_ref3.i_class,
share0_ref3.i_brand, share0_ref3.i_product_name, share0_ref3.d_year, share0_r
ef3.d_qoy, share0_ref3.d_moy
-> Redistribute Motion 3:3 (slice5; segments: 3) (cost=0.00..439.29
rows=20780 width=72) (actual time=0.057..97.012 rows=179338 lo
ops=1)
Hash Key: share0_ref3.i_category, share0_ref3.i_class,
share0_ref3.i_brand, share0_ref3.i_product_name, share0_ref3.d_year, sha
re0_ref3.d_qoy, share0_ref3.d_moy
-> Result (cost=0.00..434.61 rows=20780 width=72) (actual
time=1903.203..2043.166 rows=181070 loops=1)
-> Shared Scan (share slice:id 5:0) (cost=0.00..434.61
rows=20780 width=72) (actual time=1903.195..1967.052 rows=181070
loops=1)
-> HashAggregate (cost=0.00..455.48 rows=20780 width=66) (actual
time=529.268..650.626 rows=12622 loops=1)
Group Key: share0_ref4.i_category, share0_ref4.i_class,
share0_ref4.i_brand, share0_ref4.i_product_name, share0_ref4.d_year, share0_r
ef4.d_qoy
-> Redistribute Motion 3:3 (slice6; segments: 3) (cost=0.00..438.83
rows=20780 width=68) (actual time=0.064..104.718 rows=181268 l
oops=1)
Hash Key: share0_ref4.i_category, share0_ref4.i_class,
share0_ref4.i_brand, share0_ref4.i_product_name, share0_ref4.d_year, sha
re0_ref4.d_qoy
-> Result (cost=0.00..434.41 rows=20780 width=68) (actual
time=1903.759..2037.430 rows=181070 loops=1)
-> Shared Scan (share slice:id 6:0) (cost=0.00..434.41
rows=20780 width=68) (actual time=1903.752..1967.926 rows=181070
loops=1)
-> HashAggregate (cost=0.00..452.28 rows=20780 width=62) (actual
time=518.527..527.316 rows=6384 loops=1)
Group Key: share0_ref5.i_category, share0_ref5.i_class,
share0_ref5.i_brand, share0_ref5.i_product_name, share0_ref5.d_year
-> Redistribute Motion 3:3 (slice7; segments: 3) (cost=0.00..438.37
rows=20780 width=64) (actual time=0.054..104.862 rows=179875 l
oops=1)
Hash Key: share0_ref5.i_category, share0_ref5.i_class,
share0_ref5.i_brand, share0_ref5.i_product_name, share0_ref5.d_year
-> Result (cost=0.00..434.20 rows=20780 width=64) (actual
time=1904.051..2035.170 rows=181070 loops=1)
-> Shared Scan (share slice:id 7:0) (cost=0.00..434.20
rows=20780 width=64) (actual time=1904.036..1967.079 rows=181070
loops=1)
-> HashAggregate (cost=0.00..448.62 rows=6000 width=58) (actual
time=473.596..478.248 rows=4043 loops=1)
Group Key: share0_ref6.i_category, share0_ref6.i_class,
share0_ref6.i_brand, share0_ref6.i_product_name
-> Redistribute Motion 3:3 (slice8; segments: 3) (cost=0.00..437.91
rows=20780 width=60) (actual time=0.055..94.226 rows=179371 lo
ops=1)
Hash Key: share0_ref6.i_category, share0_ref6.i_class,
share0_ref6.i_brand, share0_ref6.i_product_name
-> Result (cost=0.00..434.00 rows=20780 width=60) (actual
time=1903.872..2032.489 rows=181070 loops=1)
-> Shared Scan (share slice:id 8:0) (cost=0.00..434.00
rows=20780 width=60) (actual time=1903.843..1966.706 rows=181070
loops=1)
-> HashAggregate (cost=0.00..443.60 rows=6000 width=39) (actual
time=451.425..451.819 rows=326 loops=1)
Group Key: share0_ref7.i_category, share0_ref7.i_class, share0_ref7.i_brand
-> Redistribute Motion 3:3 (slice9; segments: 3) (cost=0.00..435.72
rows=20780 width=41) (actual time=0.051..99.656 rows=190111 lo
ops=1)
Hash Key: share0_ref7.i_category, share0_ref7.i_class,
share0_ref7.i_brand
-> Result (cost=0.00..433.05 rows=20780 width=41) (actual
time=1903.696..2030.135 rows=181070 loops=1)
-> Shared Scan (share slice:id 9:0) (cost=0.00..433.05
rows=20780 width=41) (actual time=1903.684..1965.483 rows=181070
loops=1)
-> Finalize HashAggregate (cost=0.00..437.37 rows=207 width=22) (actual
time=0.373..0.423 rows=44 loops=1)
Group Key: share0_ref8.i_category, share0_ref8.i_class
-> Redistribute Motion 3:3 (slice10; segments: 3) (cost=0.00..437.31
rows=207 width=22) (actual time=0.015..0.065 rows=114 loops=1
)
Hash Key: share0_ref8.i_category, share0_ref8.i_class
-> Streaming Partial HashAggregate (cost=0.00..437.30 rows=207
width=22) (actual time=2391.181..2391.403 rows=113 loops=1)
Group Key: share0_ref8.i_category, share0_ref8.i_class
-> Shared Scan (share slice:id 10:0) (cost=0.00..432.20
rows=20780 width=24) (actual time=1901.628..1966.655 rows=18107
0 loops=1)
-> Finalize HashAggregate (cost=0.00..434.33 rows=4 width=14) (actual
time=0.063..0.068 rows=5 loops=1)
Group Key: share0_ref9.i_category
-> Redistribute Motion 3:3 (slice11; segments: 3) (cost=0.00..434.33
rows=4 width=14) (actual time=0.004..0.014 rows=15 loops=1)
Hash Key: share0_ref9.i_category
-> Streaming Partial HashAggregate (cost=0.00..434.33 rows=4
width=14) (actual time=2353.708..2353.731 rows=11 loops=1)
Group Key: share0_ref9.i_category
-> Shared Scan (share slice:id 11:0) (cost=0.00..431.80
rows=20780 width=16) (actual time=1901.829..1966.270 rows=18107
0 loops=1)
-> Result (cost=0.00..431.55 rows=1 width=60) (actual time=0.006..0.007
rows=1 loops=1)
-> Redistribute Motion 1:3 (slice12) (cost=0.00..431.55 rows=1 width=8)
(actual time=0.002..0.003 rows=1 loops=1)
-> Finalize Aggregate (cost=0.00..431.55 rows=1 width=8) (actual
time=2370.830..2370.831 rows=1 loops=1)
-> Gather Motion 3:1 (slice13; segments: 3)
(cost=0.00..431.55 rows=1 width=8) (actual time=2130.668..2370.771 rows=3
loops=1)
-> Partial Aggregate (cost=0.00..431.55 rows=1 width=8)
(actual time=2247.415..2247.418 rows=1 loops=1)
-> Shared Scan (share slice:id 13:0)
(cost=0.00..431.50 rows=20780 width=10) (actual time=1903.287..1965.59
6 rows=181070 loops=1)
Planning Time: 676.409 ms
(slice0) Executor memory: 4155K bytes.
(slice1) Executor memory: 238K bytes avg x 3x(0) workers, 293K bytes
max (seg0). Work_mem: 172K bytes max.
(slice2) Executor memory: 49625K bytes avg x 3x(0) workers, 50588K
bytes max (seg0). Work_mem: 9642K bytes max.
(slice3) Executor memory: 15830K bytes avg x 3x(0) workers, 15830K
bytes max (seg0).
(slice4) Executor memory: 88K bytes avg x 3x(0) workers, 88K bytes max
(seg0).
(slice5) Executor memory: 91K bytes avg x 3x(0) workers, 91K bytes max
(seg0).
(slice6) Executor memory: 87K bytes avg x 3x(0) workers, 87K bytes max
(seg0).
(slice7) Executor memory: 116K bytes avg x 3x(0) workers, 116K bytes
max (seg0).
(slice8) Executor memory: 116K bytes avg x 3x(0) workers, 116K bytes
max (seg0).
(slice9) Executor memory: 116K bytes avg x 3x(0) workers, 116K bytes
max (seg0).
(slice10) Executor memory: 136K bytes avg x 3x(0) workers, 136K bytes
max (seg0). Work_mem: 96K bytes max.
(slice11) Executor memory: 127K bytes avg x 3x(0) workers, 127K bytes
max (seg0). Work_mem: 24K bytes max.
(slice12) Executor memory: 20K bytes (entry db).
(slice13) Executor memory: 122K bytes avg x 3x(0) workers, 122K bytes
max (seg0).
Memory used: 128000kB
Optimizer: GPORCA
Execution Time: 8651.960 ms
(123 rows)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]