explain.depesz.com

PostgreSQL's explain analyze made readable

Result: wIfx : FreshPorts - packages : update pacakges_raw - this grabs stuff from all branches

Settings

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 1,538.310 1,691.183 ↓ 0.0 0 1

Update on packages_raw pr (cost=1,428.92..5,404.44 rows=25,354 width=109) (actual time=1,691.183..1,691.183 rows=0 loops=1)

2. 51.452 152.873 ↓ 1.5 36,839 1

Hash Join (cost=1,428.92..5,404.44 rows=25,354 width=109) (actual time=34.297..152.873 rows=36,839 loops=1)

  • Hash Cond: (pr.package_origin = po.port_origin)
3. 12.527 67.402 ↓ 1.6 29,373 1

Nested Loop (cost=0.42..3,228.97 rows=17,943 width=87) (actual time=0.073..67.402 rows=29,373 loops=1)

4. 0.030 0.030 ↑ 1.0 1 1

Seq Scan on abi (cost=0.00..1.04 rows=1 width=42) (actual time=0.027..0.030 rows=1 loops=1)

  • Filter: (name = 'FreeBSD:13:aarch64'::text)
  • Rows Removed by Filter: 8
5. 54.845 54.845 ↓ 1.6 29,373 1

Index Scan using packages_raw_abi_idx on packages_raw pr (cost=0.42..3,048.50 rows=17,943 width=77) (actual time=0.042..54.845 rows=29,373 loops=1)

  • Index Cond: (abi = 'FreeBSD:13:aarch64'::text)
  • Filter: (package_set = 'latest'::package_sets)
6. 20.021 34.019 ↓ 1.0 39,404 1

Hash (cost=936.00..936.00 rows=39,400 width=30) (actual time=34.018..34.019 rows=39,404 loops=1)

  • Buckets: 65,536 Batches: 1 Memory Usage: 2,913kB
7. 13.998 13.998 ↓ 1.0 39,404 1

Seq Scan on ports_origin po (cost=0.00..936.00 rows=39,400 width=30) (actual time=0.020..13.998 rows=39,404 loops=1)

Planning time : 1.232 ms
Execution time : 1,692.048 ms