explain.depesz.com

PostgreSQL's explain analyze made readable

Result: taOy

Settings
# exclusive inclusive rows x rows loops node
1. 0.001 0.927 ↑ 1.0 1 1

Limit (cost=1.84..23,444.68 rows=1 width=4) (actual time=0.927..0.927 rows=1 loops=1)

  • Buffers: shared hit=959
2. 0.002 0.926 ↑ 1,092.0 1 1

Nested Loop Semi Join (cost=1.84..25,599,582.66 rows=1,092 width=4) (actual time=0.926..0.926 rows=1 loops=1)

  • Buffers: shared hit=959
3. 0.040 0.040 ↑ 79,343.0 1 1

Index Only Scan using index_ci_pipelines_on_project_id_and_ref_and_status_and_id on public.ci_pipelines (cost=0.57..2,948.65 rows=79,343 width=4) (actual time=0.040..0.040 rows=1 loops=1)

  • Index Cond: ((ci_pipelines.project_id = 278,964) AND (ci_pipelines.ref = 'master'::text) AND (ci_pipelines.status = 'success'::text))
  • Heap Fetches: 1
  • Buffers: shared hit=6
4. 0.064 0.884 ↑ 1.0 1 1

Nested Loop Semi Join (cost=1.27..322.60 rows=1 width=4) (actual time=0.884..0.884 rows=1 loops=1)

  • Buffers: shared hit=953
5. 0.215 0.215 ↓ 1.1 121 1

Index Scan using index_ci_builds_on_commit_id_and_status_and_type on public.ci_builds (cost=0.70..102.17 rows=113 width=8) (actual time=0.016..0.215 rows=121 loops=1)

  • Index Cond: ((ci_builds.commit_id = ci_pipelines.id) AND ((ci_builds.type)::text = 'Ci::Build'::text))
  • Filter: ((ci_builds.retried IS FALSE) OR (ci_builds.retried IS NULL))
  • Rows Removed by Filter: 0
  • Buffers: shared hit=129
6. 0.605 0.605 ↓ 0.0 0 121

Index Only Scan using index_ci_job_artifacts_on_job_id_and_file_type on public.ci_job_artifacts (cost=0.57..1.94 rows=1 width=4) (actual time=0.005..0.005 rows=0 loops=121)

  • Index Cond: (ci_job_artifacts.job_id = ci_builds.id)
  • Heap Fetches: 427
  • Filter: (ci_job_artifacts.file_type = ANY ('{5,6,7,8,21,23}'::integer[]))
  • Rows Removed by Filter: 4
  • Buffers: shared hit=824