explain.depesz.com

PostgreSQL's explain analyze made readable

Result: CAt

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Hash Join (cost=10,001,382,927.28..10,001,403,102.27 rows=4,446 width=156) (actual rows= loops=)

  • Hash Cond: (cte.id = e.youtube_channel_id)
2.          

CTE cte

3. 0.000 0.000 ↓ 0.0

Seq Scan on channels c (cost=10,000,000,000.00..10,000,755,744.07 rows=889,256 width=157) (actual rows= loops=)

  • Filter: ((topic_categories <> '{}'::text[]) AND (((country)::text = 'US'::text) OR (((estimated_country)::text = 'US'::text) AND (country IS NULL))))
4. 0.000 0.000 ↓ 0.0

CTE Scan on cte (cost=0.00..17,785.12 rows=889,256 width=152) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Hash (cost=626,729.80..626,729.80 rows=36,273 width=762) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Gather Merge (cost=1,000.66..626,729.80 rows=36,273 width=762) (actual rows= loops=)

  • Workers Planned: 6
7. 0.000 0.000 ↓ 0.0

Parallel Index Scan using channel_estimates_pkey on channel_estimates e (cost=0.56..621,321.20 rows=6,046 width=762) (actual rows= loops=)

  • Filter: ((((((estimates -> 'views'::text) -> 'youtube_30d'::text) ->> 'median'::text))::integer > 1000) AND (((((estimates -> 'views'::text) -> 'youtube_30d'::text) ->> 'median'::text))::integer < 40000))