explain.depesz.com

PostgreSQL's explain analyze made readable

Result: fxPu

Settings
# exclusive inclusive rows x rows loops node
1. 29.027 8,197.322 ↓ 877.0 877 1

Nested Loop Semi Join (cost=7.51..1,905.95 rows=1 width=58) (actual time=0.186..8,197.322 rows=877 loops=1)

  • Join Filter: (((ra.ga)::text = (na.ga)::text) AND ((ra.version)::text = (na.version)::text) AND (ps.tenant_id = na.tenant_id))
  • Rows Removed by Join Filter: 147,240
2. 2.661 16.415 ↓ 8.2 1,528 1

Nested Loop (cost=6.95..362.10 rows=186 width=113) (actual time=0.146..16.415 rows=1,528 loops=1)

3. 1.620 8.102 ↓ 20.0 942 1

Nested Loop (cost=6.67..327.78 rows=47 width=100) (actual time=0.135..8.102 rows=942 loops=1)

  • Join Filter: (r.id = ra.release_id)
  • Rows Removed by Join Filter: 942
4. 0.757 5.540 ↓ 20.0 942 1

Nested Loop (cost=5.62..313.51 rows=47 width=100) (actual time=0.116..5.540 rows=942 loops=1)

5. 1.918 3.223 ↑ 1.0 104 1

Hash Join (cost=5.34..272.25 rows=104 width=100) (actual time=0.104..3.223 rows=104 loops=1)

  • Hash Cond: ((an.code)::text = (ra.ga)::text)
6. 1.238 1.238 ↑ 1.0 10,115 1

Seq Scan on artifact_namespace an (cost=0.00..214.91 rows=10,191 width=46) (actual time=0.017..1.238 rows=10,115 loops=1)

7. 0.038 0.067 ↑ 1.0 104 1

Hash (cost=4.04..4.04 rows=104 width=54) (actual time=0.066..0.067 rows=104 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 18kB
8. 0.029 0.029 ↑ 1.0 104 1

Seq Scan on released_artifact ra (cost=0.00..4.04 rows=104 width=54) (actual time=0.009..0.029 rows=104 loops=1)

9. 1.560 1.560 ↓ 4.5 9 104

Index Scan using api_qname_artifact_id_index on api_qname aq (cost=0.28..0.38 rows=2 width=8) (actual time=0.004..0.015 rows=9 loops=104)

  • Index Cond: (artifact_id = an.id)
10. 0.926 0.942 ↑ 1.0 2 942

Materialize (cost=1.04..12.86 rows=2 width=8) (actual time=0.000..0.001 rows=2 loops=942)

11. 0.006 0.016 ↑ 1.0 2 1

Hash Join (cost=1.04..12.85 rows=2 width=8) (actual time=0.015..0.016 rows=2 loops=1)

  • Hash Cond: (ps.id = r.platform_segment_id)
12. 0.004 0.004 ↑ 130.0 1 1

Seq Scan on platform_segment ps (cost=0.00..11.30 rows=130 width=8) (actual time=0.004..0.004 rows=1 loops=1)

13. 0.001 0.006 ↑ 1.0 2 1

Hash (cost=1.02..1.02 rows=2 width=8) (actual time=0.006..0.006 rows=2 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
14. 0.005 0.005 ↑ 1.0 2 1

Seq Scan on release r (cost=0.00..1.02 rows=2 width=8) (actual time=0.004..0.005 rows=2 loops=1)

15. 5.652 5.652 ↑ 2.0 2 942

Index Scan using api_version_api_id_index on api_version av (cost=0.29..0.69 rows=4 width=17) (actual time=0.005..0.006 rows=2 loops=942)

  • Index Cond: (api_id = aq.id)
16. 8,151.880 8,151.880 ↓ 97.0 97 1,528

Index Scan using nexus_artifact_ga_major_version_minor_version_snapshot_index on nexus_artifact na (cost=0.56..8.28 rows=1 width=62) (actual time=0.624..5.335 rows=97 loops=1,528)

  • Index Cond: (((ga)::text = (an.code)::text) AND (major_version = av.major_version) AND (minor_version = av.minor_version) AND (snapshot = av.snapshot))
  • Filter: from_sources
  • Rows Removed by Filter: 4,570
Planning time : 5.910 ms
Execution time : 8,197.728 ms