explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 2Jnm

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

Nested Loop (cost=454.08..524.47 rows=1 width=259) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

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

  • Group Key: namespaces.id
3. 0.000 0.000 ↓ 0.0

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

4.          

CTE base_and_ancestors

5. 0.000 0.000 ↓ 0.0

Recursive Union (cost=0.43..453.12 rows=21 width=323) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = 4006638)
  • Filter: ((type)::text = 'Group'::text)
7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.43..44.83 rows=2 width=323) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

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

9. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = base_and_ancestors.parent_id)
  • Filter: ((type)::text = 'Group'::text)
10. 0.000 0.000 ↓ 0.0

Index Scan using i2 on web_hooks (cost=0.28..3.35 rows=1 width=259) (actual rows= loops=)

  • Index Cond: (group_id = namespaces.id)