explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ggdL

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Gather Motion 64:1 (slice4; segments: 64) (cost=0.00..203,327.99 rows=47,828,901 width=799) (actual rows= loops=)

  • Rows out: 9,536,849 rows at destination with 17189 ms to first row, 34353 ms to end.
  • (slice0) Executor memory: 1,234K bytes.
  • (slice1) Executor memory: 50,388K bytes avg x 64 workers, 50540K bytes max (seg35).
  • (slice2) Executor memory: 14,230K bytes avg x 64 workers, 14302K bytes max (seg38).
  • (slice3) Executor memory: 1,190K bytes avg x 64 workers, 1190K bytes max (seg0).
  • (slice4) Executor memory: 5,397K bytes avg x 64 workers, 5457K bytes max (seg15). Work_mem: 791K bytes max.Statement statistics:
  • Memory used: 1,048,576K bytesSettings: gp_recursive_cte_prototype=off; optimizer=onOptimizer status: PQO version 3.80.0
2. 0.000 0.000 ↓ 0.0

Hash Join (cost=0.00..116,519.56 rows=747,327 width=799) (actual rows= loops=)

  • Hash Cond: dm_order.corp_contract_id::text = voytova_b2b_contracts_info_all.contract_id::text
  • Rows out: Avg 149013.3 rows x 64 workers. Max 177421 rows (seg28) with 17184 ms to first row, 18501 ms to end.
  • Executor memory: 746K bytes avg, 791K bytes max (seg27).
  • Work_mem used: 746K bytes avg, 791K bytes max (seg27). Workfile: (0 spilling)
  • (seg27) Hash chain length 1.0 avg, 2 max, using 1200 of 65536 buckets.
  • (seg28) Hash chain length 1.0 avg, 2 max, using 1149 of 65536 buckets.
3. 0.000 0.000 ↓ 0.0

Redistribute Motion 64:64 (slice2; segments: 64) (cost=0.00..113,833.73 rows=747,327 width=21) (actual rows= loops=)

  • Hash Key: dm_order.corp_contract_id
  • Rows out: Avg 149926.4 rows x 64 workers at destination. Max 178121 rows (seg28) with 17177 ms to first row, 17259 ms to end.
4. 0.000 0.000 ↓ 0.0

Result (cost=0.00..113,784.61 rows=747,327 width=21) (actual rows= loops=)

  • Rows out: Avg 149926.4 rows x 64 workers. Max 150538 rows (seg52) with 17180 ms to first row, 17219 ms to end.
5. 0.000 0.000 ↓ 0.0

HashAggregate (cost=0.00..113,784.61 rows=747,327 width=21) (actual rows= loops=)

  • Group By: dm_order.corp_contract_id, dm_order.moscow_order_dt, dm_order.order_tariff
  • Rows out: Avg 149926.4 rows x 64 workers. Max 150538 rows (seg52) with 17180 ms to first row, 17202 ms to end.
  • Executor memory: 11,912K bytes avg, 11984K bytes max (seg38).
  • (seg52) Hash chain length 4.6 avg, 14 max, using 32452 of 32768 buckets; total 10 expansions.
6. 0.000 0.000 ↓ 0.0

Redistribute Motion 64:64 (slice1; segments: 64) (cost=0.00..113,501.49 rows=747,327 width=27) (actual rows= loops=)

  • Hash Key: dm_order.corp_contract_id, dm_order.moscow_order_dt, dm_order.order_tariff
  • Rows out: Avg 523002.2 rows x 64 workers at destination. Max 525205 rows (seg24) with 9110 ms to first row, 16737 ms to end.
7. 0.000 0.000 ↓ 0.0

Result (cost=0.00..113,438.33 rows=747,327 width=27) (actual rows= loops=)

  • Rows out: Avg 523002.2 rows x 64 workers. Max 524757 rows (seg35) with 13480 ms to first row, 13720 ms to end.
8. 0.000 0.000 ↓ 0.0

HashAggregate (cost=0.00..113,438.33 rows=747,327 width=27) (actual rows= loops=)

  • Group By: dm_order.corp_contract_id, dm_order.moscow_order_dt, dm_order.order_tariff
  • Rows out: Avg 523002.2 rows x 64 workers. Max 524757 rows (seg35) with 13480 ms to first row, 13646 ms to end.
  • Executor memory: 41,417K bytes avg, 41569K bytes max (seg35).
  • (seg35) Hash chain length 4.1 avg, 14 max, using 128588 of 131072 buckets; total 12 expansions.
9. 0.000 0.000 ↓ 0.0

Sequence (cost=0.00..113,151.20 rows=747,327 width=21) (actual rows= loops=)

  • Rows out: Avg 674165.1 rows x 64 workers. Max 676136 rows (seg35) with 20 ms to first row, 12961 ms to end.
10. 0.000 0.000 ↓ 0.0

Partition Selector for dm_order (dynamic scan id: 1) (cost=10.00..100.00 rows=2 width=4) (actual rows= loops=)

  • Partitions selected: 144 (out of 144)
  • Rows out: 0 rows (seg0) with 0.104 ms to end.
11. 0.000 0.000 ↓ 0.0

Dynamic Table Scan on dm_order (dynamic scan id: 1) (cost=0.00..113,151.20 rows=747,327 width=21) (actual rows= loops=)

  • Filter: corp_order_flg AND success_order_flg
  • Rows out: Avg 674165.1 rows x 64 workers. Max 676136 rows (seg35) with 20 ms to first row, 12889 ms to end.
  • Partitions scanned: Avg 144.0 (out of 144) x 64 workers. Max 144 parts (seg0).
12. 0.000 0.000 ↓ 0.0

Hash (cost=435.99..435.99 rows=1,141 width=787) (actual rows= loops=)

  • Rows in: Avg 1141.0 rows x 64 workers. Max 1209 rows (seg27) with 5.188 ms to end, start offset by 57 ms.
13. 0.000 0.000 ↓ 0.0

Redistribute Motion 64:64 (slice3; segments: 64) (cost=0.00..435.99 rows=1,141 width=787) (actual rows= loops=)

  • Hash Key: voytova_b2b_contracts_info_all.contract_id
  • Rows out: Avg 1141.0 rows x 64 workers at destination. Max 1209 rows (seg27) with 0.067 ms to first row, 2.146 ms to end.
14. 0.000 0.000 ↓ 0.0

Table Scan on voytova_b2b_contracts_info_all (cost=0.00..431.51 rows=1,141 width=787) (actual rows= loops=)

  • Rows out: Avg 1141.0 rows x 64 workers. Max 1149 rows (seg17) with 0.089 ms to first row, 1.074 ms to end.Slice statistics:
Total runtime : 35,010.755 ms