explain.depesz.com

PostgreSQL's explain analyze made readable

Result: oj9Z

Settings
# exclusive inclusive rows x rows loops node
1. 0.015 16.949 ↑ 1.0 20 1

Limit (cost=11,941.17..11,941.22 rows=20 width=10,916) (actual time=16.928..16.949 rows=20 loops=1)

2. 0.532 16.934 ↑ 23.8 20 1

Sort (cost=11,941.17..11,942.36 rows=475 width=10,916) (actual time=16.926..16.934 rows=20 loops=1)

  • Sort Key: n1_.created_dt
  • Sort Method: top-N heapsort Memory: 45kB
3. 0.341 16.402 ↑ 1.6 297 1

Nested Loop (cost=240.47..11,928.54 rows=475 width=10,916) (actual time=9.285..16.402 rows=297 loops=1)

4. 0.020 0.020 ↑ 1.0 1 1

Index Scan using gf_player_pkey on gf_player player7_ (cost=0.29..8.30 rows=1 width=3,395) (actual time=0.019..0.020 rows=1 loops=1)

  • Index Cond: (player_id = 17648)
5. 0.644 16.041 ↑ 1.6 297 1

Nested Loop Left Join (cost=240.18..11,915.48 rows=475 width=7,521) (actual time=9.261..16.041 rows=297 loops=1)

6. 0.625 14.506 ↑ 1.6 297 1

Nested Loop Left Join (cost=239.89..8,815.44 rows=475 width=4,126) (actual time=9.244..14.506 rows=297 loops=1)

7. 0.372 13.881 ↑ 1.6 297 1

Hash Left Join (cost=239.60..5,672.39 rows=475 width=731) (actual time=9.241..13.881 rows=297 loops=1)

  • Hash Cond: (n1_.icon = fileentry4_.id)
8. 1.000 8.444 ↑ 1.6 297 1

Nested Loop (cost=13.75..5,443.56 rows=475 width=296) (actual time=4.166..8.444 rows=297 loops=1)

9. 5.434 5.608 ↓ 1.3 612 1

Bitmap Heap Scan on be_player_notification this_ (cost=13.33..1,799.68 rows=478 width=42) (actual time=0.248..5.608 rows=612 loops=1)

  • Recheck Cond: (player_id = 17648)
  • Filter: (NOT deleted)
10. 0.174 0.174 ↓ 1.3 612 1

Bitmap Index Scan on be_player_notification_player_id_deleted_index (cost=0.00..13.21 rows=478 width=0) (actual time=0.174..0.174 rows=612 loops=1)

  • Index Cond: ((player_id = 17648) AND (deleted = false))
11. 1.836 1.836 ↓ 0.0 0 612

Index Scan using be_notifications_pkey on be_notifications n1_ (cost=0.42..7.61 rows=1 width=254) (actual time=0.003..0.003 rows=0 loops=612)

  • Index Cond: (notification_id = this_.notification_id)
  • Filter: ((visible OR (visible IS NULL)) AND ((start_date IS NULL) OR (start_date <= '2020-03-25 15:12:28.067'::timestamp without time zone)) AND ((end_date IS NULL) OR (end_date >= '2020-03-25 15:12:28.067'::timestamp without time zone)) AND ((notification_channel)::text = 'NOTIFICATION'::text))
  • Rows Removed by Filter: 1
12. 2.239 5.065 ↑ 1.0 3,060 1

Hash (cost=187.60..187.60 rows=3,060 width=435) (actual time=5.065..5.065 rows=3,060 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 1240kB
13. 2.826 2.826 ↑ 1.0 3,060 1

Seq Scan on gf_file_entry fileentry4_ (cost=0.00..187.60 rows=3,060 width=435) (actual time=0.010..2.826 rows=3,060 loops=1)

14. 0.000 0.000 ↓ 0.0 0 297

Index Scan using gf_player_pkey on gf_player player5_ (cost=0.29..6.61 rows=1 width=3,395) (actual time=0.000..0.000 rows=0 loops=297)

  • Index Cond: (fileentry4_.owner_id = player_id)
15. 0.891 0.891 ↑ 1.0 1 297

Index Scan using gf_player_pkey on gf_player player6_ (cost=0.29..6.52 rows=1 width=3,395) (actual time=0.002..0.003 rows=1 loops=297)

  • Index Cond: (n1_.owner_id = player_id)
Total runtime : 17.215 ms