explain.depesz.com

PostgreSQL's explain analyze made readable

Result: UOgI

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

Finalize GroupAggregate (cost=2,933,775.18..2,933,775.38 rows=1 width=87) (actual rows= loops=)

  • Group Key: stats_adrevenue.date, stats_adrevenue.country, core_adrevenue_app_map.app_id, core_app.customer_id, core_connectedchannel.channel_id, stats_adrevenue.ad_unit_map_id
2. 0.000 0.000 ↓ 0.0

Gather Merge (cost=2,933,775.18..2,933,775.34 rows=1 width=87) (actual rows= loops=)

  • Workers Planned: 1
3. 0.000 0.000 ↓ 0.0

Partial GroupAggregate (cost=2,932,775.17..2,932,775.22 rows=1 width=87) (actual rows= loops=)

  • Group Key: stats_adrevenue.date, stats_adrevenue.country, core_adrevenue_app_map.app_id, core_app.customer_id, core_connectedchannel.channel_id, stats_adrevenue.ad_unit_map_id
4. 0.000 0.000 ↓ 0.0

Sort (cost=2,932,775.17..2,932,775.18 rows=1 width=43) (actual rows= loops=)

  • Sort Key: stats_adrevenue.date, stats_adrevenue.country, core_app.customer_id, stats_adrevenue.ad_unit_map_id
5. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=2,932,524.82..2,932,775.16 rows=1 width=43) (actual rows= loops=)

  • Merge Cond: ((stats_adrevenue.date = stats_general_regular.date) AND ((stats_adrevenue.country)::text = (stats_general_regular.country)::text))
  • Join Filter: (core_app.id = stats_general_regular.app_id)
6. 0.000 0.000 ↓ 0.0

Sort (cost=127,443.62..127,443.62 rows=1 width=43) (actual rows= loops=)

  • Sort Key: stats_adrevenue.date, stats_adrevenue.country
7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.13..127,443.61 rows=1 width=43) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.85..127,439.30 rows=1 width=35) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.57..127,402.31 rows=122 width=35) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on core_connectedchannel (cost=0.00..2,391.76 rows=2 width=8) (actual rows= loops=)

  • Filter: (channel_id = 259)
11. 0.000 0.000 ↓ 0.0

Index Scan using stats_adrevenue_date_app_map_id_connecte_6b5281f1_uniq on stats_adrevenue (cost=0.57..62,277.33 rows=22,795 width=35) (actual rows= loops=)

  • Index Cond: ((date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date) AND (connected_channel_id = core_connectedchannel.id))
12. 0.000 0.000 ↓ 0.0

Index Scan using core_adrevenue_app_map_pkey on core_adrevenue_app_map (cost=0.28..0.30 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id = stats_adrevenue.app_map_id)
  • Filter: (app_id = 4,169)
13. 0.000 0.000 ↓ 0.0

Index Scan using core_app_pkey on core_app (cost=0.28..4.30 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id = 4,169)
14. 0.000 0.000 ↓ 0.0

Materialize (cost=2,805,081.20..2,805,323.45 rows=1,615 width=14) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=2,805,081.20..2,805,303.26 rows=1,615 width=14) (actual rows= loops=)

  • Group Key: stats_general_regular.date, stats_general_regular.app_id, stats_general_regular.country
16. 0.000 0.000 ↓ 0.0

Sort (cost=2,805,081.20..2,805,121.57 rows=16,150 width=18) (actual rows= loops=)

  • Sort Key: stats_general_regular.date, stats_general_regular.country
17. 0.000 0.000 ↓ 0.0

Append (cost=2,762,666.36..2,803,952.38 rows=16,150 width=18) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on stats_general_regular (cost=2,762,666.36..2,794,764.54 rows=16,129 width=18) (actual rows= loops=)

  • Recheck Cond: ((app_id = 4,169) AND (date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))
19. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=2,762,666.36..2,762,666.36 rows=16,129 width=0) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on stats_general_regular_app_idx (cost=0.00..32,639.47 rows=1,685,987 width=0) (actual rows= loops=)

  • Index Cond: (app_id = 4,169)
21. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on stats_general_regular_customer_date_idx (cost=0.00..2,730,018.57 rows=1,382,510 width=0) (actual rows= loops=)

  • Index Cond: ((date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))
22. 0.000 0.000 ↓ 0.0

Index Scan using stats_general_important_smartnews_app_idx on stats_general_important_smartnews (cost=0.56..4.30 rows=1 width=18) (actual rows= loops=)

  • Index Cond: (app_id = 4,169)
  • Filter: ((date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))
23. 0.000 0.000 ↓ 0.0

Index Scan using stats_general_important_hutch_app_idx on stats_general_important_hutchgames (cost=0.56..1,103.53 rows=3 width=18) (actual rows= loops=)

  • Index Cond: (app_id = 4,169)
  • Filter: ((date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))
24. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on stats_general_important_zeptolab (cost=239.94..243.97 rows=2 width=18) (actual rows= loops=)

  • Recheck Cond: ((app_id = 4,169) AND (date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))
25. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=239.94..239.94 rows=2 width=0) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on stats_general_important_zepto_app_idx (cost=0.00..50.37 rows=2,658 width=0) (actual rows= loops=)

  • Index Cond: (app_id = 4,169)
27. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on stats_general_important_zepto_unique (cost=0.00..189.32 rows=9,476 width=0) (actual rows= loops=)

  • Index Cond: ((date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))
28. 0.000 0.000 ↓ 0.0

Index Scan using stats_general_important_slc_app_idx on stats_general_important_super_lucky_casino (cost=0.56..7,731.62 rows=9 width=18) (actual rows= loops=)

  • Index Cond: (app_id = 4,169)
  • Filter: ((date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))
29. 0.000 0.000 ↓ 0.0

Index Scan using stats_general_important_zynga_app_idx on stats_general_important_zynga (cost=0.14..4.16 rows=1 width=28) (actual rows= loops=)

  • Index Cond: (app_id = 4,169)
  • Filter: ((date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))
30. 0.000 0.000 ↓ 0.0

Index Scan using stats_general_important_playtika_app_idx on stats_general_important_playtika (cost=0.14..4.16 rows=1 width=28) (actual rows= loops=)

  • Index Cond: (app_id = 4,169)
  • Filter: ((date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))
31. 0.000 0.000 ↓ 0.0

Index Scan using stats_general_important_dataduck_app_idx on stats_general_important_dataduck (cost=0.12..2.90 rows=1 width=18) (actual rows= loops=)

  • Index Cond: (app_id = 4,169)
  • Filter: ((date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))
32. 0.000 0.000 ↓ 0.0

Index Scan using stats_general_important_pixonic_unique on stats_general_important_pixonic (cost=0.12..4.15 rows=1 width=18) (actual rows= loops=)

  • Index Cond: ((date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))
  • Filter: (app_id = 4,169)
33. 0.000 0.000 ↓ 0.0

Index Scan using stats_general_important_moburst_app_idx on stats_general_important_moburst (cost=0.12..4.15 rows=1 width=18) (actual rows= loops=)

  • Index Cond: (app_id = 4,169)
  • Filter: ((date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))
34. 0.000 0.000 ↓ 0.0

Index Scan using stats_general_important_melsoft_app_idx on stats_general_important_melsoft (cost=0.56..4.14 rows=1 width=18) (actual rows= loops=)

  • Index Cond: (app_id = 4,169)
  • Filter: ((date >= '2020-07-26'::date) AND (date <= '2020-07-27'::date))