explain.depesz.com

PostgreSQL's explain analyze made readable

Result: yAZS

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

Gather Motion 24:1 (slice5; segments: 24) (cost=0.00..25,444.33 rows=1 width=20) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=0.00..25,444.33 rows=1 width=20) (actual rows= loops=)

  • Group Key: s_masm_mc_action_whs.whs_id, s_masm_mc_action_header.art_id
3. 0.000 0.000 ↓ 0.0

Sort (cost=0.00..25,444.33 rows=1 width=20) (actual rows= loops=)

  • Sort Key: s_masm_mc_action_whs.whs_id, s_masm_mc_action_header.art_id
4. 0.000 0.000 ↓ 0.0

Redistribute Motion 24:24 (slice4; segments: 24) (cost=0.00..25,444.33 rows=1 width=20) (actual rows= loops=)

  • Hash Key: s_masm_mc_action_whs.whs_id, s_masm_mc_action_header.art_id
5. 0.000 0.000 ↓ 0.0

Result (cost=0.00..25,444.33 rows=1 width=20) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=0.00..25,444.33 rows=1 width=20) (actual rows= loops=)

  • Group Key: s_masm_mc_action_whs.whs_id, s_masm_mc_action_header.art_id
7. 0.000 0.000 ↓ 0.0

Sort (cost=0.00..25,444.33 rows=1 width=46) (actual rows= loops=)

  • Sort Key: s_masm_mc_action_whs.whs_id, s_masm_mc_action_header.art_id
8. 0.000 0.000 ↓ 0.0

Hash Join (cost=0.00..25,444.33 rows=1 width=46) (actual rows= loops=)

  • Hash Cond: ((s_masm_mc_action_header.mc_id = s_masm_mc_action_whs.mc_id) AND (s_masm_mc_action_header.art_id = t_osa_data_ap3.art_id))
9. 0.000 0.000 ↓ 0.0

Hash Join (cost=0.00..881.71 rows=1,292 width=46) (actual rows= loops=)

  • Hash Cond: (s_masm_mc_action_header.action_id = s_masm_mc_action.action_id)
10. 0.000 0.000 ↓ 0.0

Seq Scan on s_masm_mc_action_header (cost=0.00..449.01 rows=7,966 width=20) (actual rows= loops=)

  • Filter: ((status_id <> ALL ('{101,103,207,312,412,422,402,502,602,716,710}'::integer[])) AND (begin_dt <= '2020-09-02'::date) AND (end_dt >= '2020-09-02'::date))
11. 0.000 0.000 ↓ 0.0

Hash (cost=431.00..431.00 rows=12 width=34) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Broadcast Motion 24:24 (slice1; segments: 24) (cost=0.00..431.00 rows=12 width=34) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Seq Scan on s_masm_mc_action (cost=0.00..431.00 rows=1 width=34) (actual rows= loops=)

  • Filter: (((name)::text !~~ '%Дополнительн%'::text) AND ((name)::text !~~ '%Акция лояльности%'::text))
14. 0.000 0.000 ↓ 0.0

Hash (cost=24,562.13..24,562.13 rows=1 width=12) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Broadcast Motion 24:24 (slice3; segments: 24) (cost=0.00..24,562.13 rows=1 width=12) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Hash Join (cost=0.00..24,562.13 rows=1 width=12) (actual rows= loops=)

  • Hash Cond: (s_masm_mc_action_whs.whs_id = t_osa_data_ap3.whs_id)
17. 0.000 0.000 ↓ 0.0

Seq Scan on s_masm_mc_action_whs (cost=0.00..4,456.38 rows=101,650,976 width=8) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Hash (cost=431.00..431.00 rows=1 width=8) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Broadcast Motion 24:24 (slice2; segments: 24) (cost=0.00..431.00 rows=1 width=8) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Seq Scan on t_osa_data_ap3 (cost=0.00..431.00 rows=1 width=8) (actual rows= loops=)