explain.depesz.com

PostgreSQL's explain analyze made readable

Result: bECQ

Settings
# exclusive inclusive rows x rows loops node
1. 345.320 959.840 ↑ 23.1 658,121 1

Hash Left Join (cost=245.23..10,654.01 rows=15,182,009 width=447) (actual time=3.564..959.840 rows=658,121 loops=1)

  • Hash Cond: (ladder.id = ""ladderPassword"".""ladderId"")
2. 339.654 614.517 ↑ 2.7 658,121 1

Hash Left Join (cost=208.23..5,917.77 rows=1,783,886 width=446) (actual time=3.554..614.517 rows=658,121 loops=1)

  • Hash Cond: (ladder.id = ""entryFee"".""ladderId"")
3. 260.483 274.840 ↓ 1.7 658,121 1

Hash Left Join (cost=183.38..4,886.10 rows=381,103 width=352) (actual time=3.527..274.840 rows=658,121 loops=1)

  • Hash Cond: (ladder.id = prize.""ladderId"")
4. 7.929 11.703 ↓ 1.3 13,590 1

Hash Right Join (cost=34.83..240.45 rows=10,555 width=239) (actual time=0.861..11.703 rows=13,590 loops=1)

  • Hash Cond: (registration.""ladderId"" = ladder.id)
5. 1.995 2.945 ↑ 1.0 3,616 1

Hash Left Join (cost=11.07..83.91 rows=3,630 width=64) (actual time=0.025..2.945 rows=3,616 loops=1)

  • Hash Cond: (registration.id = player.""registrationId"")
6. 0.933 0.933 ↑ 1.0 3,616 1

Seq Scan on ladder_registration registration (cost=0.00..63.30 rows=3,630 width=36) (actual time=0.003..0.933 rows=3,616 loops=1)

7. 0.002 0.017 ↑ 1.0 2 1

Hash (cost=11.04..11.04 rows=2 width=28) (actual time=0.017..0.017 rows=2 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
8. 0.006 0.015 ↑ 1.0 2 1

Bitmap Heap Scan on ladder_registration_player player (cost=4.30..11.04 rows=2 width=28) (actual time=0.013..0.015 rows=2 loops=1)

  • Recheck Cond: (""userId"" = '60513'::bigint)
  • Heap Blocks: exact=2
9. 0.009 0.009 ↑ 1.0 2 1

Bitmap Index Scan on ""PK_70742d4852d2d81096a67b61a57"" (cost=0.00..4.29 rows=2 width=0) (actual time=0.009..0.009 rows=2 loops=1)

  • Index Cond: (""userId"" = '60513'::bigint)
10. 0.229 0.829 ↓ 1.0 430 1

Hash (cost=18.64..18.64 rows=410 width=175) (actual time=0.829..0.829 rows=430 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 87kB
11. 0.336 0.600 ↓ 1.0 430 1

Hash Right Join (cost=7.38..18.64 rows=410 width=175) (actual time=0.141..0.600 rows=430 loops=1)

  • Hash Cond: (""gameParameter"".""ladderId"" = ladder.id)
12. 0.134 0.134 ↓ 1.0 580 1

Seq Scan on ladder_game_parameter ""gameParameter"" (cost=0.00..9.72 rows=572 width=21) (actual time=0.004..0.134 rows=580 loops=1)

13. 0.055 0.130 ↓ 1.0 106 1

Hash (cost=6.12..6.12 rows=101 width=154) (actual time=0.130..0.130 rows=106 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 25kB
14. 0.075 0.075 ↓ 1.0 106 1

Seq Scan on ladder (cost=0.00..6.12 rows=101 width=154) (actual time=0.009..0.075 rows=106 loops=1)

  • Filter: ((""deletedOn"" IS NULL) AND (state = ANY ('{validating,done}'::ladders.ladder_state_enum[])) AND ((""gameSlug"")::text = 'warzone'::text))
  • Rows Removed by Filter: 37
15. 1.489 2.654 ↓ 1.0 5,093 1

Hash (cost=84.91..84.91 rows=5,091 width=113) (actual time=2.653..2.654 rows=5,093 loops=1)

  • Buckets: 8,192 Batches: 1 Memory Usage: 343kB
16. 1.165 1.165 ↓ 1.0 5,093 1

Seq Scan on ladder_prize prize (cost=0.00..84.91 rows=5,091 width=113) (actual time=0.004..1.165 rows=5,093 loops=1)

17. 0.012 0.023 ↑ 17.4 38 1

Hash (cost=16.60..16.60 rows=660 width=94) (actual time=0.023..0.023 rows=38 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 10kB
18. 0.011 0.011 ↑ 17.4 38 1

Seq Scan on ladder_entry_fee ""entryFee"" (cost=0.00..16.60 rows=660 width=94) (actual time=0.003..0.011 rows=38 loops=1)

19. 0.001 0.003 ↑ 600.0 2 1

Hash (cost=22.00..22.00 rows=1,200 width=40) (actual time=0.003..0.003 rows=2 loops=1)

  • Buckets: 2,048 Batches: 1 Memory Usage: 17kB
20. 0.002 0.002 ↑ 600.0 2 1

Seq Scan on ladder_password ""ladderPassword"" (cost=0.00..22.00 rows=1,200 width=40) (actual time=0.001..0.002 rows=2 loops=1)

Planning time : 1.161 ms
Execution time : 1,079.755 ms