explain.depesz.com

PostgreSQL's explain analyze made readable

Result: yJpy

Settings
# exclusive inclusive rows x rows loops node
1. 0.025 11,101.881 ↑ 1.0 45 1

Limit (cost=1,001.46..265,863.01 rows=45 width=294) (actual time=5,566.253..11,101.881 rows=45 loops=1)

2. 0.000 11,101.856 ↑ 14.8 45 1

Gather Merge (cost=1,001.46..3,920,952.44 rows=666 width=294) (actual time=5,566.252..11,101.856 rows=45 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
3. 3.671 28,763.640 ↑ 16.4 17 3

Nested Loop (cost=1.44..3,919,875.54 rows=278 width=294) (actual time=2,743.276..9,587.880 rows=17 loops=3)

  • Join Filter: (teaser.id = teaser_country_relation.teaser_id)
4. 12.743 28,750.479 ↑ 18.0 316 3

Nested Loop (cost=0.87..3,884,992.89 rows=5,703 width=302) (actual time=65.770..9,583.493 rows=316 loops=3)

5. 28,667.064 28,667.064 ↑ 10.1 2,945 3

Parallel Index Scan Backward using teaser_created_at on teaser (cost=0.43..3,787,907.95 rows=29,718 width=294) (actual time=7.192..9,555.688 rows=2,945 loops=3)

  • Filter: ((clicks >= '0'::bigint) AND (clicks <= '4000000'::bigint) AND (to_tsvector('russian'::regconfig, (title)::text) @@ plainto_tsquery('open'::text)))
  • Rows Removed by Filter: 591465
6. 70.672 70.672 ↓ 0.0 0 8,834

Index Only Scan using idx_16506_idx_teaser_network_relation_temp_teaser_id_network_id on teaser_network_relation (cost=0.43..3.26 rows=1 width=8) (actual time=0.008..0.008 rows=0 loops=8,834)

  • Index Cond: (teaser_id = teaser.id)
  • Filter: (network_id = ANY ('{26,6}'::bigint[]))
  • Rows Removed by Filter: 1
  • Heap Fetches: 8871
7. 9.490 9.490 ↓ 0.0 0 949

Index Only Scan using idx_16500_idx_teaser_country_relation_temp_teaser_id_country_id on teaser_country_relation (cost=0.57..6.09 rows=2 width=8) (actual time=0.010..0.010 rows=0 loops=949)

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