explain.depesz.com

PostgreSQL's explain analyze made readable

Result: OioM

Settings
# exclusive inclusive rows x rows loops node
1. 0.001 33.379 ↓ 0.0 0 1

GroupAggregate (cost=1,001.49..14,674.47 rows=3 width=126) (actual time=33.379..33.379 rows=0 loops=1)

  • Group Key: org.name
2. 0.000 33.378 ↓ 0.0 0 1

Nested Loop (cost=1,001.49..14,674.42 rows=3 width=122) (actual time=33.378..33.378 rows=0 loops=1)

  • Join Filter: (usage_fact.org_id = org.organisation_id)
3. 17.623 35.577 ↓ 0.0 0 1

Gather (cost=1,001.49..14,604.88 rows=676 width=8) (actual time=33.377..35.577 rows=0 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
4. 0.001 17.954 ↓ 0.0 0 3 / 3

Hash Join (cost=1.49..13,537.28 rows=282 width=8) (actual time=17.954..17.954 rows=0 loops=3)

  • Hash Cond: (usage_fact.app_id = app_dim.id)
5. 0.079 17.953 ↓ 0.0 0 3 / 3

Nested Loop (cost=0.43..13,532.53 rows=1,128 width=12) (actual time=17.953..17.953 rows=0 loops=3)

6. 17.617 17.617 ↑ 1.1 128 3 / 3

Parallel Seq Scan on date_dim (cost=0.00..7,107.21 rows=137 width=8) (actual time=10.247..17.617 rows=128 loops=3)

  • Filter: ((date >= '2020-05-01 00:00:00'::timestamp without time zone) AND (date <= '2020-05-05 00:00:00'::timestamp without time zone))
  • Rows Removed by Filter: 151776
7. 0.257 0.257 ↓ 0.0 0 385 / 3

Index Scan using idx_usage_fact_date_id on usage_fact (cost=0.43..42.86 rows=404 width=36) (actual time=0.002..0.002 rows=0 loops=385)

  • Index Cond: (date_id = date_dim.date_id)
8. 0.000 0.000 ↓ 0.0 0 / 3

Hash (cost=1.05..1.05 rows=1 width=4) (never executed)

9. 0.000 0.000 ↓ 0.0 0 / 3

Seq Scan on app_dim (cost=0.00..1.05 rows=1 width=4) (never executed)

  • Filter: ((app)::text = 'TM'::text)
10. 0.000 0.000 ↓ 0.0 0

Materialize (cost=0.00..29.03 rows=4 width=122) (never executed)

11. 0.000 0.000 ↓ 0.0 0

Seq Scan on organisation org (cost=0.00..29.01 rows=4 width=122) (never executed)

  • Filter: ((name)::text = 'Hertfordshire'::text)
Planning time : 0.882 ms
Execution time : 35.646 ms