explain.depesz.com

PostgreSQL's explain analyze made readable

Result: otld

Settings
# exclusive inclusive rows x rows loops node
1. 0.012 523.425 ↓ 64.0 64 1

Limit (cost=30,626.14..30,626.41 rows=1 width=112) (actual time=520.893..523.425 rows=64 loops=1)

2. 2.986 523.413 ↓ 64.0 64 1

Result (cost=30,626.14..30,626.41 rows=1 width=112) (actual time=520.892..523.413 rows=64 loops=1)

3. 0.039 520.427 ↓ 64.0 64 1

Sort (cost=30,626.14..30,626.15 rows=1 width=108) (actual time=520.414..520.427 rows=64 loops=1)

  • Sort Key: flix.popularity DESC
  • Sort Method: quicksort Memory: 35kB
4. 0.199 520.388 ↓ 64.0 64 1

Group (cost=30,626.12..30,626.13 rows=1 width=108) (actual time=520.047..520.388 rows=64 loops=1)

5. 1.682 520.189 ↓ 2,662.0 2,662 1

Sort (cost=30,626.12..30,626.13 rows=1 width=81) (actual time=520.044..520.189 rows=2,662 loops=1)

  • Sort Key: flix.flix_id
  • Sort Method: quicksort Memory: 530kB
6. 4.700 518.507 ↓ 2,662.0 2,662 1

Nested Loop (cost=26,749.48..30,626.11 rows=1 width=81) (actual time=68.856..518.507 rows=2,662 loops=1)

7. 7.511 83.874 ↓ 86.8 7,287 1

Hash Join (cost=26,749.06..28,636.45 rows=84 width=97) (actual time=67.666..83.874 rows=7,287 loops=1)

8. 8.711 8.711 ↑ 1.0 20,071 1

Seq Scan on season season (cost=0..1,834.71 rows=20,071 width=32) (actual time=0.003..8.711 rows=20,071 loops=1)

9. 1.169 67.652 ↓ 1.2 2,121 1

Hash (cost=26,726.44..26,726.44 rows=1,809 width=81) (actual time=67.652..67.652 rows=2,121 loops=1)

10. 51.185 66.483 ↓ 1.2 2,121 1

Bitmap Heap Scan on flix flix (cost=11,947.92..26,726.44 rows=1,809 width=81) (actual time=15.61..66.483 rows=2,121 loops=1)

  • Filter: (((flix.tmdb_data ->> 'vote_average'::text))::double precision > '7'::double precision)
  • Heap Blocks: exact=1750
11. 15.298 15.298 ↓ 1.1 5,912 1

Bitmap Index Scan on "flikflix.flix@tmdb_id_idx" (cost=0..11,947.47 rows=5,428 width=0) (actual time=15.298..15.298 rows=5,912 loops=1)

  • Index Cond: (flix.type = 'show'::text)
12. 429.933 429.933 ↓ 0.0 0 7,287

Index Scan using "flikflix.episode@season_id_idx" on episode episode (cost=0.42..23.68 rows=1 width=16) (actual time=0.046..0.059 rows=0 loops=7,287)

  • Index Cond: (episode.season_id = season.season_id)
  • Filter: ((episode.guidebox_data <> '{}'::jsonb) AND ('{iTunes,VUDU,Amazon,STARZ,"Amzn Prime",Criterion,HBO,Hulu,Netflix,Showtime,Disney+,"Apple TV+"}'::text[] && jsonb_arr2text_arr((episode.guidebox_data -> 'providers'::text))))
Planning time : 0.63 ms
Execution time : 523.573 ms