explain.depesz.com

PostgreSQL's explain analyze made readable

Result: TgLH

Settings
# exclusive inclusive rows x rows loops node
1. 56.364 104.095 ↓ 11.0 5,465 1

Gather (cost=1,843.05..12,527.18 rows=495 width=263) (actual time=47.908..104.095 rows=5,465 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
2. 0.549 47.726 ↓ 8.8 1,822 3

Hash Join (cost=843.05..5,211.35 rows=206 width=159) (actual time=39.251..47.726 rows=1,822 loops=3)

  • Hash Cond: (ci.location_id = loc.location_id)
3. 4.018 47.143 ↓ 8.8 1,822 3

Nested Loop (cost=841.40..5,209.08 rows=206 width=150) (actual time=39.120..47.143 rows=1,822 loops=3)

4. 6.476 43.123 ↓ 8.8 1,822 3

Hash Join (cost=840.98..4,626.88 rows=206 width=137) (actual time=39.078..43.123 rows=1,822 loops=3)

  • Hash Cond: (ci.check_in_id = vd.check_in_id)
5. 25.342 25.592 ↑ 1.2 5,589 3

Parallel Bitmap Heap Scan on check_in ci (cost=16.08..3,710.88 rows=6,476 width=32) (actual time=0.200..25.592 rows=5,589 loops=3)

  • Recheck Cond: ((session_start_time >= '2019-06-01 00:00:00+00'::timestamp with time zone) AND (session_start_time <= '2019-07-01 00:00:00+00'::timestamp with time zone))
  • Rows Removed by Index Recheck: 38050
  • Heap Blocks: lossy=1167
6. 0.250 0.250 ↑ 2.0 23,040 1

Bitmap Index Scan on check_in_session_start_time_idx1 (cost=0.00..12.20 rows=45,567 width=0) (actual time=0.250..0.250 rows=23,040 loops=1)

  • Index Cond: ((session_start_time >= '2019-06-01 00:00:00+00'::timestamp with time zone) AND (session_start_time <= '2019-07-01 00:00:00+00'::timestamp with time zone))
7. 4.501 11.055 ↓ 1.0 6,310 3

Hash (cost=746.11..746.11 rows=6,303 width=121) (actual time=11.055..11.055 rows=6,310 loops=3)

  • Buckets: 8192 Batches: 1 Memory Usage: 1050kB
8. 6.554 6.554 ↓ 1.0 6,310 3

Seq Scan on video_details vd (cost=0.00..746.11 rows=6,303 width=121) (actual time=0.345..6.554 rows=6,310 loops=3)

  • Filter: media_release
  • Rows Removed by Filter: 3412
9. 0.002 0.002 ↑ 1.0 1 5,465

Index Scan using customer_pkey on customer cst (cost=0.42..2.83 rows=1 width=21) (actual time=0.002..0.002 rows=1 loops=5,465)

  • Index Cond: (customer_id = vd.customer_id)
10. 0.012 0.034 ↑ 1.0 29 3

Hash (cost=1.29..1.29 rows=29 width=17) (actual time=0.033..0.034 rows=29 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
11. 0.022 0.022 ↑ 1.0 29 3

Seq Scan on location loc (cost=0.00..1.29 rows=29 width=17) (actual time=0.013..0.022 rows=29 loops=3)

12.          

SubPlan (forGather)

13. 0.001 0.005 ↑ 1.0 1 5,465

Nested Loop (cost=0.56..12.64 rows=1 width=17) (actual time=0.004..0.005 rows=1 loops=5,465)

14. 0.001 0.001 ↑ 1.0 1 5,465

Index Only Scan using video_details_id_game_id_unique on video_to_game_id vg (cost=0.29..4.33 rows=1 width=5) (actual time=0.001..0.001 rows=1 loops=5,465)

  • Index Cond: (video_details_id = vd.video_details_id)
  • Filter: (game_id <> 'n1'::text)
  • Rows Removed by Filter: 1
  • Heap Fetches: 0
15. 0.003 0.003 ↑ 1.0 1 5,731

Index Scan using game_game_id_idx on game g (cost=0.28..8.29 rows=1 width=25) (actual time=0.003..0.003 rows=1 loops=5,731)

  • Index Cond: (game_id = vg.game_id)
Planning time : 1.198 ms