explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 928C

Settings
# exclusive inclusive rows x rows loops node
1. 855.985 18,819.988 ↓ 408,497.0 408,497 1

Nested Loop (cost=19,852.93..95,561.76 rows=1 width=20) (actual time=4,120.711..18,819.988 rows=408,497 loops=1)

2. 4,465.504 11,568.033 ↓ 213,199.0 426,398 1

Hash Join (cost=19,852.50..95,560.47 rows=2 width=16) (actual time=1,406.198..11,568.033 rows=426,398 loops=1)

  • Hash Cond: ((o.version_md5 = v.version_md5) AND (r.resource_config_scope_id = v.resource_config_scope_id))
3. 1,179.337 5,714.177 ↓ 244.6 1,628,759 1

Nested Loop (cost=100.54..72,175.92 rows=6,658 width=45) (actual time=0.452..5,714.177 rows=1,628,759 loops=1)

4. 11.836 11.836 ↓ 2.4 12 1

Index Scan using resources_pipeline_id on resources r (cost=0.41..23.91 rows=5 width=8) (actual time=0.025..11.836 rows=12 loops=1)

  • Index Cond: (pipeline_id = 303697)
5. 3,567.540 4,523.004 ↓ 26.5 135,730 12

Bitmap Heap Scan on build_resource_config_version_outputs o (cost=100.13..14,379.18 rows=5,122 width=41) (actual time=108.369..376.917 rows=135,730 loops=12)

  • Recheck Cond: (resource_id = r.id)
  • Heap Blocks: exact=140908
6. 955.464 955.464 ↓ 26.5 135,730 12

Bitmap Index Scan on build_resource_config_version_outputs_resource_id_idx (cost=0.00..98.85 rows=5,122 width=0) (actual time=79.622..79.622 rows=135,730 loops=12)

  • Index Cond: (resource_id = r.id)
7. 714.453 1,388.352 ↓ 1.0 333,958 1

Hash (cost=11,817.10..11,817.10 rows=333,524 width=45) (actual time=1,388.352..1,388.352 rows=333,958 loops=1)

  • Buckets: 65536 Batches: 8 Memory Usage: 3782kB
8. 673.899 673.899 ↓ 1.0 333,958 1

Seq Scan on resource_config_versions v (cost=0.00..11,817.10 rows=333,524 width=45) (actual time=0.020..673.899 rows=333,958 loops=1)

  • Filter: (check_order <> 0)
  • Rows Removed by Filter: 753
9. 6,395.970 6,395.970 ↑ 1.0 1 426,398

Index Scan using builds_pkey on builds b (cost=0.43..0.63 rows=1 width=8) (actual time=0.015..0.015 rows=1 loops=426,398)

  • Index Cond: (id = o.build_id)
  • Filter: (status = 'succeeded'::build_status)
  • Rows Removed by Filter: 0