explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ZMYf

Settings
# exclusive inclusive rows x rows loops node
1. 0.004 185.214 ↑ 15.4 26 1

Limit (cost=8,294.50..8,298.50 rows=400 width=32) (actual time=185.200..185.214 rows=26 loops=1)

  • Buffers: shared hit=216 read=115 dirtied=4
  • I/O Timings: read=181.440
2.          

CTE base_and_descendants

3. 4.306 36.473 ↑ 10.8 25 1

Recursive Union (cost=0.29..846.28 rows=271 width=1,263) (actual time=2.330..36.473 rows=25 loops=1)

  • Buffers: shared hit=52 read=31
  • I/O Timings: read=35.563
4. 2.320 2.320 ↑ 1.0 1 1

Index Scan using epics_pkey on public.epics epics_1 (cost=0.29..4.30 rows=1 width=1,263) (actual time=2.319..2.320 rows=1 loops=1)

  • Index Cond: (epics_1.id = 22238)
  • Buffers: shared hit=1 read=2
  • I/O Timings: read=2.289
5. 0.060 29.847 ↑ 3.4 8 3

Nested Loop (cost=0.29..83.66 rows=27 width=1,263) (actual time=2.399..9.949 rows=8 loops=3)

  • Buffers: shared hit=48 read=25
  • I/O Timings: read=29.412
6. 0.012 0.012 ↑ 1.2 8 3

WorkTable Scan on base_and_descendants (cost=0.00..0.20 rows=10 width=4) (actual time=0.001..0.004 rows=8 loops=3)

7. 29.775 29.775 ↑ 3.0 1 25

Index Scan using index_epics_on_parent_id on public.epics epics_2 (cost=0.29..8.32 rows=3 width=1,263) (actual time=0.420..1.191 rows=1 loops=25)

  • Index Cond: (epics_2.parent_id = base_and_descendants.id)
  • Buffers: shared hit=48 read=25
  • I/O Timings: read=29.412
8. 0.284 185.210 ↑ 15.4 26 1

HashAggregate (cost=7,448.22..7,452.22 rows=400 width=32) (actual time=185.198..185.210 rows=26 loops=1)

  • Group Key: issues.state_id, epics.id, epics.iid, epics.parent_id, epics.state_id
  • Buffers: shared hit=216 read=115 dirtied=4
  • I/O Timings: read=181.440
9. 0.220 184.926 ↑ 33.6 46 1

Nested Loop Left Join (cost=0.85..7,421.17 rows=1,546 width=1,335) (actual time=3.365..184.926 rows=46 loops=1)

  • Buffers: shared hit=216 read=115 dirtied=4
  • I/O Timings: read=181.440
10. 0.167 56.136 ↑ 33.6 46 1

Nested Loop Left Join (cost=0.29..981.40 rows=1,546 width=18) (actual time=3.361..56.136 rows=46 loops=1)

  • Buffers: shared hit=106 read=49 dirtied=4
  • I/O Timings: read=54.469
11. 36.594 36.594 ↑ 10.8 25 1

CTE Scan on base_and_descendants epics (cost=0.00..5.42 rows=271 width=14) (actual time=2.334..36.594 rows=25 loops=1)

  • Buffers: shared hit=52 read=31
  • I/O Timings: read=35.563
12. 19.375 19.375 ↑ 6.0 1 25

Index Scan using index_epic_issues_on_epic_id on public.epic_issues (cost=0.29..3.54 rows=6 width=8) (actual time=0.559..0.775 rows=1 loops=25)

  • Index Cond: (epic_issues.epic_id = epics.id)
  • Buffers: shared hit=54 read=18 dirtied=4
  • I/O Timings: read=18.906
13. 128.570 128.570 ↑ 1.0 1 46

Index Scan using issues_pkey on public.issues (cost=0.56..4.16 rows=1 width=1,325) (actual time=2.794..2.795 rows=1 loops=46)

  • Index Cond: (issues.id = epic_issues.issue_id)
  • Buffers: shared hit=110 read=66
  • I/O Timings: read=126.971