explain.depesz.com

PostgreSQL's explain analyze made readable

Result: BRxX

Settings
# exclusive inclusive rows x rows loops node
1. 48.059 8,315.007 ↓ 15.0 75 1

GroupAggregate (cost=1,000.57..15,114.87 rows=5 width=28) (actual time=404.060..8,315.007 rows=75 loops=1)

  • Group Key: cat.slug
2. 4,108.023 8,266.948 ↓ 1,149.8 5,749 1

Nested Loop (cost=1,000.57..15,114.80 rows=5 width=20) (actual time=342.938..8,266.948 rows=5,749 loops=1)

  • Join Filter: (cass.category_id = cat.id)
  • Rows Removed by Join Filter: 517410
3. 1.408 1.408 ↑ 1.0 91 1

Index Scan using signals_subcategory_slug_73bea209 on signals_category cat (cost=0.14..17.67 rows=91 width=24) (actual time=0.016..1.408 rows=91 loops=1)

  • Filter: is_active
  • Rows Removed by Filter: 12
4. 4,015.152 4,157.517 ↓ 958.2 5,749 91

Materialize (cost=1,000.42..15,088.95 rows=6 width=4) (actual time=0.039..45.687 rows=5,749 loops=91)

5. 0.000 142.365 ↓ 958.2 5,749 1

Gather (cost=1,000.42..15,088.92 rows=6 width=4) (actual time=2.788..142.365 rows=5,749 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
6. 87.389 172.490 ↓ 958.0 1,916 3

Nested Loop (cost=0.42..14,088.32 rows=2 width=4) (actual time=5.864..172.490 rows=1,916 loops=3)

7. 85.084 85.084 ↓ 958.0 1,916 3

Parallel Seq Scan on signals_signal sig (cost=0.00..14,071.44 rows=2 width=4) (actual time=5.690..85.084 rows=1,916 loops=3)

  • Filter: ((date_part('week'::text, created_at) = '32'::double precision) AND (date_part('year'::text, created_at) = '2019'::double precision))
  • Rows Removed by Filter: 82741
8. 0.017 0.017 ↑ 1.0 1 5,749

Index Scan using signals_category_pkey on signals_categoryassignment cass (cost=0.42..8.44 rows=1 width=8) (actual time=0.017..0.017 rows=1 loops=5,749)

  • Index Cond: (id = sig.category_assignment_id)
Planning time : 0.726 ms
Execution time : 8,316.166 ms