explain.depesz.com

PostgreSQL's explain analyze made readable

Result: bb27 : sast

Settings
# exclusive inclusive rows x rows loops node
1. 0.002 161.766 ↑ 1.0 1 1

Limit (cost=473.64..473.65 rows=1 width=302) (actual time=161.765..161.766 rows=1 loops=1)

  • Buffers: shared hit=916 read=485 dirtied=14
  • I/O Timings: read=156.739
2. 0.156 161.764 ↑ 1.0 1 1

Sort (cost=473.64..473.65 rows=1 width=302) (actual time=161.764..161.764 rows=1 loops=1)

  • Sort Key: ci_pipelines.id DESC
  • Sort Method: top-N heapsort Memory: 25kB
  • Buffers: shared hit=916 read=485 dirtied=14
  • I/O Timings: read=156.739
3. 0.177 161.608 ↓ 55.0 55 1

Nested Loop Semi Join (cost=7.05..473.63 rows=1 width=302) (actual time=11.252..161.608 rows=55 loops=1)

  • Buffers: shared hit=916 read=485 dirtied=14
  • I/O Timings: read=156.739
4. 0.141 156.187 ↓ 57.0 57 1

Nested Loop (cost=6.48..469.05 rows=1 width=306) (actual time=10.793..156.187 rows=57 loops=1)

  • Buffers: shared hit=759 read=369 dirtied=14
  • I/O Timings: read=152.274
5. 0.190 13.346 ↓ 100.0 100 1

Nested Loop (cost=6.05..466.73 rows=1 width=306) (actual time=4.431..13.346 rows=100 loops=1)

  • Buffers: shared hit=486 read=122
  • I/O Timings: read=11.483
6. 0.154 4.056 ↑ 1.0 100 1

HashAggregate (cost=5.48..6.48 rows=100 width=4) (actual time=3.971..4.056 rows=100 loops=1)

  • Group Key: ci_pipelines_1.id
  • Buffers: shared hit=3 read=103
  • I/O Timings: read=3.503
7. 0.016 3.902 ↑ 1.0 100 1

Limit (cost=0.57..4.23 rows=100 width=4) (actual time=0.895..3.902 rows=100 loops=1)

  • Buffers: shared hit=3 read=103
  • I/O Timings: read=3.503
8. 3.886 3.886 ↑ 896.5 100 1

Index Only Scan using index_ci_pipelines_on_project_idandrefandiddesc on public.ci_pipelines ci_pipelines_1 (cost=0.57..3,282.85 rows=89,651 width=4) (actual time=0.894..3.886 rows=100 loops=1)

  • Index Cond: ((ci_pipelines_1.project_id = 278964) AND (ci_pipelines_1.ref = 'master'::text))
  • Heap Fetches: 96
  • Buffers: shared hit=3 read=103
  • I/O Timings: read=3.503
9. 9.100 9.100 ↑ 1.0 1 100

Index Scan using index_ci_pipelines_on_project_id_and_id_desc on public.ci_pipelines (cost=0.57..4.59 rows=1 width=302) (actual time=0.090..0.091 rows=1 loops=100)

  • Index Cond: ((ci_pipelines.project_id = 278964) AND (ci_pipelines.id = ci_pipelines_1.id))
  • Filter: ((ci_pipelines.ref)::text = 'master'::text)
  • Rows Removed by Filter: 0
  • Buffers: shared hit=483 read=19
  • I/O Timings: read=7.980
10. 142.700 142.700 ↑ 1.0 1 100

Index Only Scan using index_ci_builds_on_commit_id_and_artifacts_expireatandidpartial on public.ci_builds (cost=0.43..2.31 rows=1 width=8) (actual time=0.884..1.427 rows=1 loops=100)

  • Index Cond: (ci_builds.commit_id = ci_pipelines.id)
  • Heap Fetches: 130
  • Filter: ((ci_builds.artifacts_expire_at IS NULL) OR (ci_builds.artifacts_expire_at > '2020-05-15 13:24:34.543026'::timestamp without time zone))
  • Rows Removed by Filter: 0
  • Buffers: shared hit=273 read=247 dirtied=14
  • I/O Timings: read=140.791
11. 5.244 5.244 ↑ 1.0 1 57

Index Only Scan using index_ci_job_artifacts_on_job_id_and_file_type on public.ci_job_artifacts (cost=0.57..2.57 rows=1 width=4) (actual time=0.092..0.092 rows=1 loops=57)

  • Index Cond: ((ci_job_artifacts.job_id = ci_builds.id) AND (ci_job_artifacts.file_type = 1))
  • Heap Fetches: 16
  • Buffers: shared hit=157 read=116
  • I/O Timings: read=4.465