explain.depesz.com

PostgreSQL's explain analyze made readable

Result: aX3t

Settings
# exclusive inclusive rows x rows loops node
1. 0.002 5.765 ↓ 2.0 2 1

Nested Loop (cost=454.23..547.52 rows=1 width=259) (actual time=5.748..5.765 rows=2 loops=1)

  • Buffers: shared hit=18 read=5
  • I/O Timings: read=5.476
2. 0.005 5.682 ↑ 7.0 3 1

HashAggregate (cost=453.81..454.01 rows=21 width=4) (actual time=5.681..5.682 rows=3 loops=1)

  • Group Key: namespaces.id
  • Buffers: shared hit=7 read=5
  • I/O Timings: read=5.476
3. 5.677 5.677 ↑ 7.0 3 1

CTE Scan on base_and_ancestors namespaces (cost=453.12..453.54 rows=21 width=4) (actual time=3.273..5.677 rows=3 loops=1)

  • Buffers: shared hit=7 read=5
  • I/O Timings: read=5.476
4.          

CTE base_and_ancestors

5. 0.044 5.669 ↑ 7.0 3 1

Recursive Union (cost=0.43..453.12 rows=21 width=323) (actual time=3.269..5.669 rows=3 loops=1)

  • Buffers: shared hit=7 read=5
  • I/O Timings: read=5.476
6. 3.246 3.246 ↑ 1.0 1 1

Index Scan using namespaces_pkey on public.namespaces namespaces_1 (cost=0.43..4.45 rows=1 width=323) (actual time=3.245..3.246 rows=1 loops=1)

  • Index Cond: (namespaces_1.id = 4006638)
  • Filter: ((namespaces_1.type)::text = 'Group'::text)
  • Rows Removed by Filter: 0
  • Buffers: shared hit=1 read=3
  • I/O Timings: read=3.194
7. 0.006 2.379 ↑ 2.0 1 3

Nested Loop (cost=0.43..44.83 rows=2 width=323) (actual time=0.792..0.793 rows=1 loops=3)

  • Buffers: shared hit=6 read=2
  • I/O Timings: read=2.282
8. 0.003 0.003 ↑ 10.0 1 3

WorkTable Scan on base_and_ancestors (cost=0.00..0.20 rows=10 width=4) (actual time=0.001..0.001 rows=1 loops=3)

9. 2.370 2.370 ↑ 1.0 1 3

Index Scan using namespaces_pkey on public.namespaces namespaces_2 (cost=0.43..4.45 rows=1 width=323) (actual time=0.789..0.790 rows=1 loops=3)

  • Index Cond: (namespaces_2.id = base_and_ancestors.parent_id)
  • Filter: ((namespaces_2.type)::text = 'Group'::text)
  • Rows Removed by Filter: 0
  • Buffers: shared hit=6 read=2
  • I/O Timings: read=2.282
10. 0.081 0.081 ↑ 1.0 1 3

Index Scan using i1 on public.web_hooks (cost=0.42..4.44 rows=1 width=259) (actual time=0.021..0.027 rows=1 loops=3)

  • Index Cond: (web_hooks.group_id = namespaces.id)
  • Filter: ((web_hooks.type)::text = 'GroupHook'::text)
  • Rows Removed by Filter: 0
  • Buffers: shared hit=11