explain.depesz.com

PostgreSQL's explain analyze made readable

Result: tAb8

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

Nested Loop (cost=20.14..48.30 rows=1 width=580) (actual rows= loops=)

  • Join Filter: (p_1.id = b_1.project_id)
2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=19.99..47.71 rows=1 width=548) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=19.85..39.54 rows=1 width=544) (actual rows= loops=)

  • Join Filter: (b.project_id = p.id)
4. 0.000 0.000 ↓ 0.0

Hash Join (cost=19.70..31.36 rows=1 width=548) (actual rows= loops=)

  • Hash Cond: ((r_1.request)::text = (r.request)::text)
5. 0.000 0.000 ↓ 0.0

Seq Scan on results r_1 (cost=0.00..11.20 rows=120 width=532) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Hash (cost=19.69..19.69 rows=1 width=532) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash Join (cost=8.17..19.69 rows=1 width=532) (actual rows= loops=)

  • Hash Cond: (r.build_id = b.id)
8. 0.000 0.000 ↓ 0.0

Seq Scan on results r (cost=0.00..11.20 rows=120 width=532) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Hash (cost=8.16..8.16 rows=1 width=8) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Index Scan using builds_build_idx on builds b (cost=0.14..8.16 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (build = 1)
11. 0.000 0.000 ↓ 0.0

Index Scan using projects_name_idx on projects p (cost=0.14..8.16 rows=1 width=4) (actual rows= loops=)

  • Index Cond: ((name)::text = 'project1'::text)
12. 0.000 0.000 ↓ 0.0

Index Scan using projects_name_idx on projects p_1 (cost=0.14..8.16 rows=1 width=4) (actual rows= loops=)

  • Index Cond: ((name)::text = 'project1'::text)
13. 0.000 0.000 ↓ 0.0

Index Scan using builds_id_pk on builds b_1 (cost=0.14..0.56 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id = r_1.build_id)
  • Filter: (build = 2)