explain.depesz.com

PostgreSQL's explain analyze made readable

Result: q9hg

Settings
# exclusive inclusive rows x rows loops node
1. 0.011 0.979 ↓ 19.0 19 1

Nested Loop (cost=63.23..71.26 rows=1 width=265) (actual time=0.937..0.979 rows=19 loops=1)

2. 0.013 0.930 ↓ 19.0 19 1

HashAggregate (cost=62.95..62.96 rows=1 width=4) (actual time=0.928..0.930 rows=19 loops=1)

  • Group Key: aq.id
3. 0.020 0.917 ↓ 19.0 19 1

Unique (cost=62.91..62.93 rows=1 width=1,123) (actual time=0.894..0.917 rows=19 loops=1)

4. 0.204 0.897 ↓ 74.0 74 1

Sort (cost=62.91..62.92 rows=1 width=1,123) (actual time=0.893..0.897 rows=74 loops=1)

  • Sort Key: na.ga, na.version, na.major_version, na.minor_version, na.snapshot, av.id
  • Sort Method: quicksort Memory: 35kB
5. 0.072 0.693 ↓ 74.0 74 1

Nested Loop (cost=2.13..62.90 rows=1 width=1,123) (actual time=0.149..0.693 rows=74 loops=1)

  • Join Filter: ((na.major_version = av.major_version) AND (na.minor_version = av.minor_version) AND (na.snapshot = av.snapshot))
  • Rows Removed by Join Filter: 107
6. 0.017 0.385 ↓ 118.0 118 1

Nested Loop (cost=1.84..62.42 rows=1 width=66) (actual time=0.137..0.385 rows=118 loops=1)

7. 0.003 0.284 ↓ 7.0 7 1

Nested Loop (cost=1.55..36.86 rows=1 width=66) (actual time=0.124..0.284 rows=7 loops=1)

8. 0.007 0.260 ↓ 7.0 7 1

Nested Loop (cost=1.27..33.58 rows=1 width=70) (actual time=0.113..0.260 rows=7 loops=1)

  • Join Filter: ((ra.ga)::text = (an.code)::text)
9. 0.004 0.155 ↓ 7.0 7 1

Nested Loop (cost=0.99..33.09 rows=1 width=582) (actual time=0.088..0.155 rows=7 loops=1)

10. 0.003 0.047 ↓ 2.0 2 1

Nested Loop (cost=0.43..24.50 rows=1 width=1,036) (actual time=0.041..0.047 rows=2 loops=1)

  • Join Filter: (r.platform_segment_id = ps.id)
11. 0.003 0.038 ↓ 2.0 2 1

Nested Loop (cost=0.29..16.33 rows=1 width=1,036) (actual time=0.033..0.038 rows=2 loops=1)

12. 0.023 0.023 ↓ 2.0 2 1

Index Only Scan using released_artifact_unq on released_artifact ra (cost=0.14..8.16 rows=1 width=1,036) (actual time=0.021..0.023 rows=2 loops=1)

  • Index Cond: (release_id = 1)
  • Heap Fetches: 2
13. 0.012 0.012 ↑ 1.0 1 2

Index Scan using release_pkey on release r (cost=0.14..8.16 rows=1 width=8) (actual time=0.006..0.006 rows=1 loops=2)

  • Index Cond: (id = 1)
14. 0.006 0.006 ↑ 1.0 1 2

Index Scan using platform_segment_unq on platform_segment ps (cost=0.14..8.16 rows=1 width=8) (actual time=0.003..0.003 rows=1 loops=2)

  • Index Cond: (tenant_id = '-1'::integer)
15. 0.104 0.104 ↓ 4.0 4 2

Index Scan using nexus_artifact_unq on nexus_artifact na (cost=0.56..8.58 rows=1 width=62) (actual time=0.044..0.052 rows=4 loops=2)

  • Index Cond: (((ga)::text = (ra.ga)::text) AND ((version)::text = (ra.version)::text) AND (tenant_id = '-1'::integer))
  • Filter: from_sources
  • Rows Removed by Filter: 4
16. 0.098 0.098 ↑ 1.0 1 7

Index Scan using artifact_namespace_code_key on artifact_namespace an (cost=0.29..0.47 rows=1 width=54) (actual time=0.014..0.014 rows=1 loops=7)

  • Index Cond: (((code)::text = (na.ga)::text) AND (tenant_id = '-1'::integer))
17. 0.021 0.021 ↑ 1.0 1 7

Index Only Scan using components_pkey on components c (cost=0.28..3.28 rows=1 width=4) (actual time=0.003..0.003 rows=1 loops=7)

  • Index Cond: (id = an.comp_id)
  • Heap Fetches: 0
18. 0.084 0.084 ↓ 2.1 17 7

Index Scan using api_qname_artifact_id_index on api_qname aq (cost=0.29..25.48 rows=8 width=8) (actual time=0.004..0.012 rows=17 loops=7)

  • Index Cond: (artifact_id = an.id)
19. 0.236 0.236 ↑ 1.0 2 118

Index Scan using api_version_api_id_index on api_version av (cost=0.29..0.45 rows=2 width=17) (actual time=0.002..0.002 rows=2 loops=118)

  • Index Cond: (api_id = aq.id)
20. 0.038 0.038 ↑ 1.0 1 19

Index Scan using api_qname_pkey on api_qname a (cost=0.29..8.30 rows=1 width=265) (actual time=0.002..0.002 rows=1 loops=19)

  • Index Cond: (id = aq.id)
Planning time : 10.517 ms
Execution time : 1.123 ms