explain.depesz.com

PostgreSQL's explain analyze made readable

Result: CqqO

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

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

  • Buffers: shared hit=7 read=2
  • I/O Timings: read=2.151
2. 0.005 2.282 ↑ 21.0 1 1

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

  • Group Key: namespaces.id
  • Buffers: shared hit=2 read=2
  • I/O Timings: read=2.151
3. 2.277 2.277 ↑ 21.0 1 1

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

  • Buffers: shared hit=2 read=2
  • I/O Timings: read=2.151
4.          

CTE base_and_ancestors

5. 0.022 2.272 ↑ 21.0 1 1

Recursive Union (cost=0.43..453.12 rows=21 width=323) (actual time=2.265..2.272 rows=1 loops=1)

  • Buffers: shared hit=2 read=2
  • I/O Timings: read=2.151
6. 2.244 2.244 ↑ 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=2.243..2.244 rows=1 loops=1)

  • Index Cond: (namespaces_1.id = 9970)
  • Filter: ((namespaces_1.type)::text = 'Group'::text)
  • Rows Removed by Filter: 0
  • Buffers: shared hit=2 read=2
  • I/O Timings: read=2.151
7. 0.003 0.006 ↓ 0.0 0 1

Nested Loop (cost=0.43..44.83 rows=2 width=323) (actual time=0.006..0.006 rows=0 loops=1)

8. 0.002 0.002 ↑ 10.0 1 1

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

9. 0.001 0.001 ↓ 0.0 0 1

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

  • Index Cond: (namespaces_2.id = base_and_ancestors.parent_id)
  • Filter: ((namespaces_2.type)::text = 'Group'::text)
  • Rows Removed by Filter: 0
10. 0.065 0.065 ↓ 2.0 2 1

Index Scan using i1 on public.web_hooks (cost=0.42..4.44 rows=1 width=259) (actual time=0.048..0.065 rows=2 loops=1)

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