explain.depesz.com

PostgreSQL's explain analyze made readable

Result: xKwS

Settings
# exclusive inclusive rows x rows loops node
1. 346.528 962.897 ↑ 23.1 658,121 1

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

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

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

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

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

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

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

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

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

  • Hash Cond: (registration.id = player.""registrationId"")
6. 0.955 0.955 ↑ 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.955 rows=3,616 loops=1)

7. 0.003 0.018 ↑ 1.0 2 1

Hash (cost=11.04..11.04 rows=2 width=28) (actual time=0.017..0.018 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.228 0.828 ↓ 1.0 430 1

Hash (cost=18.64..18.64 rows=410 width=175) (actual time=0.827..0.828 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.142..0.600 rows=430 loops=1)

  • Hash Cond: (""gameParameter"".""ladderId"" = ladder.id)
12. 0.132 0.132 ↓ 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.132 rows=580 loops=1)

13. 0.056 0.132 ↓ 1.0 106 1

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

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

Seq Scan on ladder (cost=0.00..6.12 rows=101 width=154) (actual time=0.009..0.076 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.460 2.621 ↓ 1.0 5,093 1

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

  • Buckets: 8,192 Batches: 1 Memory Usage: 343kB
16. 1.161 1.161 ↓ 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.161 rows=5,093 loops=1)

17. 0.012 0.022 ↑ 17.4 38 1

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

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

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

19. 0.002 0.004 ↑ 600.0 2 1

Hash (cost=22.00..22.00 rows=1,200 width=40) (actual time=0.004..0.004 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.002..0.002 rows=2 loops=1)

Planning time : 1.189 ms
Execution time : 1,083.270 ms