explain.depesz.com

PostgreSQL's explain analyze made readable

Result: d2Bu

Settings
# exclusive inclusive rows x rows loops node
1. 0.032 5,537.501 ↑ 1.0 45 1

Limit (cost=216,799.69..288,732.44 rows=45 width=179) (actual time=3,675.709..5,537.501 rows=45 loops=1)

2. 0.000 5,537.469 ↑ 11.8 180 1

Gather Merge (cost=1,001.46..3,386,635.95 rows=2,118 width=179) (actual time=264.294..5,537.469 rows=180 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
3. 3.486 14,527.719 ↑ 13.2 67 3

Nested Loop (cost=1.44..3,385,391.46 rows=882 width=179) (actual time=87.373..4,842.573 rows=67 loops=3)

  • Join Filter: (teaser.id = teaser_country_relation.teaser_id)
4. 5.901 14,508.657 ↑ 11.3 472 3

Nested Loop (cost=0.87..3,284,149.89 rows=5,354 width=187) (actual time=7.116..4,836.219 rows=472 loops=3)

5. 14,467.656 14,467.656 ↑ 7.5 2,340 3

Parallel Index Scan Backward using teaser_created_at on teaser (cost=0.43..3,179,284.59 rows=17,648 width=179) (actual time=3.137..4,822.552 rows=2,340 loops=3)

  • Filter: ((clicks >= '0'::bigint) AND (clicks <= '4000000'::bigint) AND (to_tsvector('russian'::regconfig, (title)::text) @@ plainto_tsquery('Surprising'::text)))
  • Rows Removed by Filter: 304635
6. 35.100 35.100 ↓ 0.0 0 7,020

Index Only Scan using idx_16506_idx_teaser_network_relation_temp_teaser_id_network_id on teaser_network_relation (cost=0.43..5.94 rows=1 width=8) (actual time=0.005..0.005 rows=0 loops=7,020)

  • Index Cond: ((teaser_id = teaser.id) AND (network_id = '4'::bigint))
  • Heap Fetches: 1416
7. 15.576 15.576 ↓ 0.0 0 1,416

Index Only Scan using idx_16500_idx_teaser_country_relation_temp_teaser_id_country_id on teaser_country_relation (cost=0.57..18.81 rows=8 width=8) (actual time=0.010..0.011 rows=0 loops=1,416)

  • Index Cond: ((teaser_id = teaser_network_relation.teaser_id) AND (country_id = ANY ('{3,67,115}'::bigint[])))
  • Heap Fetches: 200