explain.depesz.com

PostgreSQL's explain analyze made readable

Result: MBew

Settings
# exclusive inclusive rows x rows loops node
1. 0.078 548.942 ↑ 1.0 100 1

Limit (cost=1.72..1,165.00 rows=100 width=131) (actual time=31.810..548.942 rows=100 loops=1)

  • Buffers: shared hit=810 read=261 dirtied=22
  • I/O Timings: read=531.407
2. 0.689 548.864 ↑ 121,174.5 100 1

Nested Loop (cost=1.72..140,959,623.60 rows=12,117,446 width=131) (actual time=31.809..548.864 rows=100 loops=1)

  • Buffers: shared hit=810 read=261 dirtied=22
  • I/O Timings: read=531.407
3. 0.764 357.275 ↑ 242,348.9 100 1

Nested Loop (cost=1.15..88,083,059.63 rows=24,234,893 width=135) (actual time=22.241..357.275 rows=100 loops=1)

  • Buffers: shared hit=405 read=166 dirtied=6
  • I/O Timings: read=352.055
4. 113.111 113.111 ↑ 251,156.1 100 1

Index Scan using index_ci_job_artifacts_on_expire_at_and_job_id on public.ci_job_artifacts (cost=0.57..19,625,551.30 rows=25,115,614 width=131) (actual time=14.574..113.111 rows=100 loops=1)

  • Index Cond: (ci_job_artifacts.expire_at < '2020-06-23 11:41:34.895228+00'::timestamp with time zone)
  • Buffers: shared hit=15 read=56 dirtied=5
  • I/O Timings: read=111.946
5. 243.400 243.400 ↑ 1.0 1 100

Index Scan using ci_builds_pkey on public.ci_builds (cost=0.57..2.73 rows=1 width=8) (actual time=2.434..2.434 rows=1 loops=100)

  • Index Cond: (ci_builds.id = ci_job_artifacts.job_id)
  • Filter: ((ci_builds.type)::text = 'Ci::Build'::text)
  • Rows Removed by Filter: 0
  • Buffers: shared hit=390 read=110 dirtied=1
  • I/O Timings: read=240.109
6. 190.900 190.900 ↑ 1.0 1 100

Index Scan using ci_pipelines_pkey on public.ci_pipelines (cost=0.57..2.18 rows=1 width=4) (actual time=1.909..1.909 rows=1 loops=100)

  • Index Cond: (ci_pipelines.id = ci_builds.commit_id)
  • Filter: (NOT ci_pipelines.artifacts_locked)
  • Rows Removed by Filter: 0
  • Buffers: shared hit=405 read=95 dirtied=16
  • I/O Timings: read=179.352