explain.depesz.com

PostgreSQL's explain analyze made readable

Result: WJAi

Settings
# exclusive inclusive rows x rows loops node
1. 19.215 2,131.816 ↑ 7.2 6,661 1

HashAggregate (cost=151,352.04..151,831.49 rows=47,945 width=25) (actual time=2,130.364..2,131.816 rows=6,661 loops=1)

  • Output: v.channel_id
  • Group Key: v.channel_id
  • Buffers: shared hit=3630452 read=76435 dirtied=37
  • I/O Timings: read=4612.542
2. 1.311 2,112.601 ↑ 1.4 35,493 1

Gather (cost=1,001.12..151,232.18 rows=47,945 width=25) (actual time=3.108..2,112.601 rows=35,493 loops=1)

  • Output: v.channel_id
  • Workers Planned: 4
  • Workers Launched: 4
  • Buffers: shared hit=3630452 read=76435 dirtied=37
  • I/O Timings: read=4612.542
3. 2,050.571 2,111.290 ↑ 1.7 7,099 5

Nested Loop (cost=1.12..145,437.68 rows=11,986 width=25) (actual time=0.902..2,111.290 rows=7,099 loops=5)

  • Output: v.channel_id
  • Buffers: shared hit=3630452 read=76435 dirtied=37
  • I/O Timings: read=4612.542
  • Worker 0: actual time=0.700..2114.059 rows=7221 loops=1
  • Buffers: shared hit=736175 read=15400 dirtied=5
  • I/O Timings: read=922.065
  • Worker 1: actual time=0.520..2113.030 rows=7224 loops=1
  • Buffers: shared hit=745335 read=15704 dirtied=8
  • I/O Timings: read=932.721
  • Worker 2: actual time=0.483..2113.709 rows=7199 loops=1
  • Buffers: shared hit=738182 read=15523 dirtied=11
  • I/O Timings: read=929.423
  • Worker 3: actual time=0.562..2113.511 rows=6783 loops=1
  • Buffers: shared hit=691674 read=14638 dirtied=4
  • I/O Timings: read=882.054
4. 60.706 60.706 ↑ 1.3 154,012 5

Parallel Index Only Scan using youtube_video_to_game_2_game_id_youtube_video_id_idx on matching.youtube_video_to_game_2 vg (cost=0.56..10,997.12 rows=193,102 width=12) (actual time=0.207..60.706 rows=154,012 loops=5)

  • Output: vg.game_id, vg.youtube_video_id
  • Index Cond: (vg.game_id = 15033)
  • Heap Fetches: 0
  • Buffers: shared hit=576146 read=2956
  • I/O Timings: read=21.695
  • Worker 0: actual time=0.044..61.178 rows=156078 loops=1
  • Buffers: shared hit=117019 read=598
  • I/O Timings: read=4.091
  • Worker 1: actual time=0.029..60.068 rows=158166 loops=1
  • Buffers: shared hit=118070 read=607
  • I/O Timings: read=4.464
  • Worker 2: actual time=0.088..61.334 rows=156600 loops=1
  • Buffers: shared hit=117066 read=600
  • I/O Timings: read=4.902
  • Worker 3: actual time=0.022..59.156 rows=146766 loops=1
  • Buffers: shared hit=109570 read=563
  • I/O Timings: read=2.904
5. 0.013 0.013 ↓ 0.0 0 770,062

Index Only Scan using videos_y2019_q2_id_published_channel_id_view_count_comment__idx on youtube.videos_y2019_q2 v (cost=0.56..0.69 rows=1 width=37) (actual time=0.013..0.013 rows=0 loops=770,062)

  • Output: v.id, v.published, v.channel_id, v.view_count, v.comment_count, v.like_count, v.dislike_count, v.favorite_count
  • Index Cond: ((v.id = vg.youtube_video_id) AND (v.published > '2019-04-01 00:00:00+00'::timestamp with time zone) AND (v.published < '2019-05-01 00:00:00+00'::timestamp with time zone))
  • Heap Fetches: 383
  • Buffers: shared hit=3054306 read=73479 dirtied=37
  • I/O Timings: read=4590.847
  • Worker 0: actual time=0.013..0.013 rows=0 loops=156078
  • Buffers: shared hit=619156 read=14802 dirtied=5
  • I/O Timings: read=917.974
  • Worker 1: actual time=0.013..0.013 rows=0 loops=158166
  • Buffers: shared hit=627265 read=15097 dirtied=8
  • I/O Timings: read=928.257
  • Worker 2: actual time=0.013..0.013 rows=0 loops=156600
  • Buffers: shared hit=621116 read=14923 dirtied=11
  • I/O Timings: read=924.521
  • Worker 3: actual time=0.014..0.014 rows=0 loops=146766
  • Buffers: shared hit=582104 read=14075 dirtied=4
  • I/O Timings: read=879.150
Planning time : 7.361 ms