explain.depesz.com

PostgreSQL's explain analyze made readable

Result: AobF : b-v2.sql

Settings
# exclusive inclusive rows x rows loops node
1. 0.065 0.551 ↑ 13.5 15 1

GroupAggregate (cost=99.14..103.71 rows=203 width=14) (actual time=0.498..0.551 rows=15 loops=1)

  • Group Key: ((vulnerability_occurrence_pipelines.created_at)::date), vulnerability_occurrences.severity
2. 0.069 0.486 ↑ 1.6 128 1

Sort (cost=99.14..99.65 rows=203 width=14) (actual time=0.476..0.486 rows=128 loops=1)

  • Sort Key: ((vulnerability_occurrence_pipelines.created_at)::date), vulnerability_occurrences.severity
  • Sort Method: quicksort Memory: 31kB
3. 0.114 0.417 ↑ 1.6 128 1

Hash Join (cost=20.53..91.36 rows=203 width=14) (actual time=0.376..0.417 rows=128 loops=1)

  • Hash Cond: (vulnerability_occurrences.id = vulnerability_occurrence_pipelines.occurrence_id)
4. 0.110 0.110 ↑ 1.0 549 1

Seq Scan on vulnerability_occurrences (cost=0.00..65.53 rows=553 width=10) (actual time=0.007..0.110 rows=549 loops=1)

5. 0.033 0.193 ↑ 1.6 128 1

Hash (cost=17.99..17.99 rows=203 width=16) (actual time=0.193..0.193 rows=128 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 14kB
6. 0.022 0.160 ↑ 1.6 128 1

Nested Loop (cost=13.87..17.99 rows=203 width=16) (actual time=0.117..0.160 rows=128 loops=1)

7. 0.002 0.114 ↓ 1.5 6 1

HashAggregate (cost=13.59..13.63 rows=4 width=8) (actual time=0.114..0.114 rows=6 loops=1)

  • Group Key: ci_pipelines.id
8. 0.005 0.112 ↓ 1.5 6 1

Nested Loop Semi Join (cost=7.48..13.58 rows=4 width=8) (actual time=0.088..0.112 rows=6 loops=1)

9. 0.009 0.093 ↑ 2.4 7 1

Nested Loop (cost=7.21..8.36 rows=17 width=4) (actual time=0.083..0.093 rows=7 loops=1)

  • Join Filter: (ci_pipelines.project_id = rs.source_id)
10. 0.009 0.075 ↓ 3.0 9 1

HashAggregate (cost=7.06..7.09 rows=3 width=8) (actual time=0.074..0.075 rows=9 loops=1)

  • Group Key: projects.id
11. 0.026 0.066 ↓ 3.0 9 1

Hash Join (cost=3.31..7.06 rows=3 width=8) (actual time=0.036..0.066 rows=9 loops=1)

  • Hash Cond: (projects.id = rs.source_id)
12. 0.013 0.013 ↑ 1.0 48 1

Seq Scan on projects (cost=0.00..3.48 rows=48 width=4) (actual time=0.004..0.013 rows=48 loops=1)

13. 0.007 0.027 ↓ 3.0 9 1

Hash (cost=3.27..3.27 rows=3 width=4) (actual time=0.027..0.027 rows=9 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
14. 0.020 0.020 ↓ 3.0 9 1

Index Scan using index_routes_on_path on routes rs (cost=0.14..3.27 rows=3 width=4) (actual time=0.010..0.020 rows=9 loops=1)

  • Index Cond: (((path)::text >= 'gitlab-org/'::text) AND ((path)::text < 'gitlab-org0'::text))
  • Filter: (((path)::text ~~ 'gitlab-org/%'::text) AND ((source_type)::text = 'Project'::text))
15. 0.009 0.009 ↑ 4.0 1 9

Index Scan using index_ci_pipelines_on_project_id_and_status_and_config_source on ci_pipelines (cost=0.14..0.37 rows=4 width=8) (actual time=0.001..0.001 rows=1 loops=9)

  • Index Cond: ((project_id = projects.id) AND ((status)::text = 'success'::text))
16. 0.014 0.014 ↑ 24.0 1 7

Index Only Scan using index_vulnerability_occurrence_pipelines_on_pipeline_id on vulnerability_occurrence_pipelines vulnerability_occurrence_pipelines_1 (cost=0.28..0.82 rows=24 width=4) (actual time=0.002..0.002 rows=1 loops=7)

  • Index Cond: (pipeline_id = ci_pipelines.id)
  • Heap Fetches: 6
17. 0.024 0.024 ↑ 1.0 21 6

Index Scan using index_vulnerability_occurrence_pipelines_on_pipeline_id on vulnerability_occurrence_pipelines (cost=0.28..0.88 rows=21 width=20) (actual time=0.002..0.004 rows=21 loops=6)

  • Index Cond: (pipeline_id = ci_pipelines.id)
  • Filter: (created_at >= '2019-03-06 00:00:00-06'::timestamp with time zone)
Planning time : 1.696 ms
Execution time : 0.639 ms