explain.depesz.com

PostgreSQL's explain analyze made readable

Result: KIfi

Settings
# exclusive inclusive rows x rows loops node
1. 117.843 64,055.082 ↑ 1.0 15,476 1

Gather (cost=98,523.47..136,281.38 rows=16,161 width=385) (actual time=54,786.932..64,055.082 rows=15,476 loops=1)

  • Workers Planned: 2
  • Workers Launched: 0
2. 633.459 63,937.239 ↓ 2.3 15,476 1

Hash Left Join (cost=97,523.47..133,523.87 rows=6,734 width=385) (actual time=54,785.175..63,937.239 rows=15,476 loops=1)

  • Hash Cond: ((bs.player_id = hs.player_id) AND (bs.date = hs.date))
3. 487.457 59,206.523 ↓ 2.3 15,476 1

Hash Left Join (cost=87,060.42..120,623.46 rows=6,734 width=355) (actual time=50,669.820..59,206.523 rows=15,476 loops=1)

  • Hash Cond: ((bs.player_id = tr.player_id) AND (bs.date = tr.date))
4. 445.707 54,643.166 ↓ 2.3 15,476 1

Hash Left Join (cost=74,543.37..105,997.06 rows=6,734 width=323) (actual time=46,591.126..54,643.166 rows=15,476 loops=1)

  • Hash Cond: ((bs.player_id = tsd.player_id) AND (bs.date = tsd.date))
5. 1,235.852 49,491.899 ↓ 2.3 15,476 1

Hash Left Join (cost=65,825.32..95,527.65 rows=6,734 width=307) (actual time=41,829.545..49,491.899 rows=15,476 loops=1)

  • Hash Cond: ((bs.date = tpt.date) AND (bs.player_id = tpt.player_id))
6. 968.878 41,043.843 ↓ 2.3 15,476 1

Hash Left Join (cost=54,277.72..81,346.70 rows=6,734 width=243) (actual time=34,554.891..41,043.843 rows=15,476 loops=1)

  • Hash Cond: ((bs.date = td.date) AND (bs.player_id = td.player_id))
7. 672.533 30,719.619 ↓ 2.3 15,476 1

Hash Left Join (cost=43,001.45..67,689.07 rows=6,734 width=187) (actual time=25,177.600..30,719.619 rows=15,476 loops=1)

  • Hash Cond: ((bs.player_id = tp.player_id) AND (bs.date = tp.date))
8. 715.150 24,188.824 ↓ 2.3 15,476 1

Hash Left Join (cost=33,316.17..56,020.44 rows=6,734 width=147) (actual time=18,783.509..24,188.824 rows=15,476 loops=1)

  • Hash Cond: ((bs.player_id = tpu.player_id) AND (bs.date = tpu.date))
9. 489.217 17,328.906 ↓ 2.3 15,476 1

Hash Left Join (cost=24,229.85..45,150.76 rows=6,734 width=115) (actual time=12,605.126..17,328.906 rows=15,476 loops=1)

  • Hash Cond: ((bs.player_id = tpos.player_id) AND (bs.date = tpos.date))
10. 667.000 10,760.206 ↓ 2.3 15,476 1

Hash Left Join (cost=14,139.80..33,345.36 rows=6,734 width=83) (actual time=6,497.952..10,760.206 rows=15,476 loops=1)

  • Hash Cond: ((bs.date = tcs.date) AND (bs.player_id = tcs.player_id))
11. 690.155 5,866.602 ↓ 2.3 15,476 1

Hash Left Join (cost=5,488.12..23,103.33 rows=6,734 width=51) (actual time=2,262.498..5,866.602 rows=15,476 loops=1)

  • Hash Cond: ((bs.date = ds.date) AND (bs.player_id = ds.close_def_person_id))
12. 2,935.681 3,165.297 ↓ 2.3 15,476 1

Parallel Bitmap Heap Scan on box_scores_v2 bs (cost=593.17..17,388.03 rows=6,734 width=38) (actual time=234.605..3,165.297 rows=15,476 loops=1)

  • Recheck Cond: (date >= '2019-11-01'::date)
  • Filter: (minutes > '0'::numeric)
  • Rows Removed by Filter: 8659
  • Heap Blocks: exact=1120
13. 229.616 229.616 ↓ 1.0 24,135 1

Bitmap Index Scan on box_scores_v2_date_idx (cost=0.00..589.13 rows=23,028 width=0) (actual time=229.615..229.616 rows=24,135 loops=1)

  • Index Cond: (date >= '2019-11-01'::date)
14. 510.691 2,011.150 ↑ 1.0 115,838 1

Hash (cost=2,478.38..2,478.38 rows=115,838 width=21) (actual time=2,011.150..2,011.150 rows=115,838 loops=1)

  • Buckets: 65536 Batches: 2 Memory Usage: 3683kB
15. 1,500.459 1,500.459 ↑ 1.0 115,838 1

Seq Scan on defensive_shooting ds (cost=0.00..2,478.38 rows=115,838 width=21) (actual time=4.826..1,500.459 rows=115,838 loops=1)

16. 576.434 4,226.604 ↑ 1.0 161,867 1

Hash (cost=4,800.67..4,800.67 rows=161,867 width=44) (actual time=4,226.604..4,226.604 rows=161,867 loops=1)

  • Buckets: 65536 Batches: 4 Memory Usage: 3666kB
17. 3,650.170 3,650.170 ↑ 1.0 161,867 1

Seq Scan on tracking_catchshoot tcs (cost=0.00..4,800.67 rows=161,867 width=44) (actual time=0.014..3,650.170 rows=161,867 loops=1)

18. 268.907 6,079.483 ↑ 1.0 169,922 1

Hash (cost=6,047.22..6,047.22 rows=169,922 width=44) (actual time=6,079.482..6,079.483 rows=169,922 loops=1)

  • Buckets: 65536 Batches: 4 Memory Usage: 3662kB
19. 5,810.576 5,810.576 ↑ 1.0 169,922 1

Seq Scan on tracking_possessions tpos (cost=0.00..6,047.22 rows=169,922 width=44) (actual time=0.015..5,810.576 rows=169,922 loops=1)

20. 309.057 6,144.768 ↑ 1.0 171,693 1

Hash (cost=5,000.93..5,000.93 rows=171,693 width=44) (actual time=6,144.768..6,144.768 rows=171,693 loops=1)

  • Buckets: 65536 Batches: 4 Memory Usage: 3491kB
21. 5,835.711 5,835.711 ↑ 1.0 171,693 1

Seq Scan on tracking_pullupshot tpu (cost=0.00..5,000.93 rows=171,693 width=44) (actual time=7.914..5,835.711 rows=171,693 loops=1)

22. 305.088 5,858.262 ↑ 1.0 169,731 1

Hash (cost=5,481.31..5,481.31 rows=169,731 width=52) (actual time=5,858.262..5,858.262 rows=169,731 loops=1)

  • Buckets: 65536 Batches: 8 Memory Usage: 2248kB
23. 5,553.174 5,553.174 ↑ 1.0 169,731 1

Seq Scan on tracking_passing tp (cost=0.00..5,481.31 rows=169,731 width=52) (actual time=2.417..5,553.174 rows=169,731 loops=1)

24. 233.640 9,355.346 ↑ 1.0 169,731 1

Hash (cost=6,740.31..6,740.31 rows=169,731 width=68) (actual time=9,355.346..9,355.346 rows=169,731 loops=1)

  • Buckets: 65536 Batches: 8 Memory Usage: 2655kB
25. 9,121.706 9,121.706 ↑ 1.0 169,731 1

Seq Scan on tracking_drives td (cost=0.00..6,740.31 rows=169,731 width=68) (actual time=10.116..9,121.706 rows=169,731 loops=1)

26. 667.491 7,212.204 ↑ 1.0 169,304 1

Hash (cost=6,858.04..6,858.04 rows=169,304 width=76) (actual time=7,212.204..7,212.204 rows=169,304 loops=1)

  • Buckets: 65536 Batches: 8 Memory Usage: 2814kB
27. 6,544.713 6,544.713 ↑ 1.0 169,304 1

Seq Scan on tracking_painttouch tpt (cost=0.00..6,858.04 rows=169,304 width=76) (actual time=7.562..6,544.713 rows=169,304 loops=1)

28. 505.825 4,705.560 ↑ 1.0 169,922 1

Hash (cost=5,007.22..5,007.22 rows=169,922 width=28) (actual time=4,705.559..4,705.560 rows=169,922 loops=1)

  • Buckets: 65536 Batches: 4 Memory Usage: 2998kB
29. 4,199.735 4,199.735 ↑ 1.0 169,922 1

Seq Scan on tracking_speeddistance tsd (cost=0.00..5,007.22 rows=169,922 width=28) (actual time=5.628..4,199.735 rows=169,922 loops=1)

30. 119.151 4,075.900 ↑ 1.0 169,922 1

Hash (cost=8,474.22..8,474.22 rows=169,922 width=44) (actual time=4,075.900..4,075.900 rows=169,922 loops=1)

  • Buckets: 65536 Batches: 4 Memory Usage: 3662kB
31. 3,956.749 3,956.749 ↑ 1.0 169,922 1

Seq Scan on tracking_rebounding tr (cost=0.00..8,474.22 rows=169,922 width=44) (actual time=7.618..3,956.749 rows=169,922 loops=1)

32. 127.307 4,097.257 ↑ 1.0 170,842 1

Hash (cost=6,231.42..6,231.42 rows=170,842 width=52) (actual time=4,097.257..4,097.257 rows=170,842 loops=1)

  • Buckets: 65536 Batches: 8 Memory Usage: 2261kB
33. 3,969.950 3,969.950 ↑ 1.0 170,842 1

Seq Scan on hustle_stats hs (cost=0.00..6,231.42 rows=170,842 width=52) (actual time=4.683..3,969.950 rows=170,842 loops=1)

Planning time : 405.841 ms
Execution time : 64,079.523 ms