explain.depesz.com

PostgreSQL's explain analyze made readable

Result: dDr6

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

Limit (cost=28,216.68..28,216.68 rows=1 width=4) (actual time=893.131..893.131 rows=1 loops=1)

  • Buffers: shared hit=39,985 read=10,334
  • I/O Timings: read=631.177
2. 0.202 893.130 ↑ 2.0 1 1

Sort (cost=28,216.68..28,216.68 rows=2 width=4) (actual time=893.130..893.130 rows=1 loops=1)

  • Sort Key: ci_pipelines.id DESC
  • Sort Method: top-N heapsort Memory: 25kB
  • Buffers: shared hit=39,985 read=10,334
  • I/O Timings: read=631.177
3. 0.252 892.928 ↓ 39.5 79 1

Nested Loop Semi Join (cost=9.69..28,216.67 rows=2 width=4) (actual time=10.548..892.928 rows=79 loops=1)

  • Buffers: shared hit=39,982 read=10,334
  • I/O Timings: read=631.177
4. 0.316 7.776 ↑ 1.0 100 1

Nested Loop (cost=8.41..222.09 rows=100 width=8) (actual time=4.165..7.776 rows=100 loops=1)

  • Buffers: shared hit=606 read=19
  • I/O Timings: read=1.183
5. 0.204 4.260 ↑ 1.0 100 1

HashAggregate (cost=7.84..8.84 rows=100 width=4) (actual time=4.092..4.260 rows=100 loops=1)

  • Group Key: ci_pipelines_1.id
  • Buffers: shared hit=116 read=4
  • I/O Timings: read=1.001
6. 4.056 4.056 ↑ 1.0 100 1

Limit (cost=0.57..6.59 rows=100 width=4) (actual time=0.207..4.056 rows=100 loops=1)

  • Buffers: shared hit=116 read=4
  • I/O Timings: read=1.001
  • -> Index Only Scan Backward using index_ci_pipelines_on_project_id_and_ref_and_status_and_id on ci_pipelines ci_pipelines_1 (cost=0.57..4565.69 rows=75,800 width=4) (actual time
  • Index Cond: ((project_id = 278,964) AND (ref = 'master'::text) AND (status = 'success'::text))
  • Heap Fetches: 141
  • Buffers: shared hit=116 read=4
  • I/O Timings: read=1.001
7. 3.200 3.200 ↑ 1.0 1 100

Index Only Scan using ci_pipelines_pkey on ci_pipelines (cost=0.57..2.13 rows=1 width=4) (actual time=0.032..0.032 rows=1 loops=100)

  • Index Cond: (id = ci_pipelines_1.id)
  • Heap Fetches: 98
  • Buffers: shared hit=490 read=15
  • I/O Timings: read=0.183
8. 6.900 884.900 ↑ 1.0 1 100

Nested Loop Semi Join (cost=1.27..279.94 rows=1 width=4) (actual time=8.849..8.849 rows=1 loops=100)

  • Buffers: shared hit=39,376 read=10,315
  • I/O Timings: read=629.993
9. 374.300 374.300 ↑ 1.8 69 100

Index Scan using index_ci_builds_on_commit_id_and_status_and_type on ci_builds (cost=0.70..71.99 rows=121 width=8) (actual time=0.664..3.743 rows=69 loops=100)

  • Index Cond: ((commit_id = ci_pipelines.id) AND ((type)::text = 'Ci::Build'::text))
  • Filter: ((retried IS FALSE) OR (retried IS NULL))
  • Rows Removed by Filter: 0
  • Buffers: shared hit=8,373 read=3,444
  • I/O Timings: read=260.873
10. 503.700 503.700 ↓ 0.0 0 6,900

Index Only Scan using index_ci_job_artifacts_on_job_id_and_file_type on ci_job_artifacts (cost=0.57..1.72 rows=1 width=4) (actual time=0.073..0.073 rows=0 loops=6,900)

  • Index Cond: (job_id = ci_builds.id)
  • Filter: (file_type = ANY ('{5,6,7,8,21,23}'::integer[]))
  • Rows Removed by Filter: 4
  • Heap Fetches: 12,149
  • Buffers: shared hit=31,003 read=6,871
  • I/O Timings: read=369.120
Planning time : 17.354 ms
Execution time : 893.261 ms