explain.depesz.com

PostgreSQL's explain analyze made readable

Result: WXbi

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

GroupAggregate (cost=49,050.58..49,068.15 rows=781 width=87) (actual rows= loops=)

  • Group Key: ""*SELECT* 1"".t, advertiserdomain.id
2. 0.000 0.000 ↓ 0.0

Sort (cost=49,050.58..49,052.53 rows=781 width=63) (actual rows= loops=)

  • Sort Key: ""*SELECT* 1"".t, advertiserdomain.id
3. 0.000 0.000 ↓ 0.0

Hash Join (cost=1,649.85..49,013.06 rows=781 width=63) (actual rows= loops=)

  • Hash Cond: ("*SELECT* 1".domains_id = advertiserdomain.id)
4. 0.000 0.000 ↓ 0.0

Append (cost=1.12..47,362.29 rows=781 width=48) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 1 (cost=1.12..21.48 rows=1 width=48) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.12..21.47 rows=1 width=48) (actual rows= loops=)

  • Join Filter: (supplypartner.advertiserfilter_id = aad.advertiserfilter_id)
7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.69..16.73 rows=1 width=24) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Index Scan using supplypartner_pkey on supplypartner (cost=0.27..8.29 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = 8,464)
9. 0.000 0.000 ↓ 0.0

Index Scan using advertiserfilter_pkey on advertiserfilter a (cost=0.42..8.44 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id = supplypartner.advertiserfilter_id)
  • Filter: domainsblacklist
10. 0.000 0.000 ↓ 0.0

Index Only Scan using advertiserfilter_advertiserdomain_pkey on advertiserfilter_advertiserdomain aad (cost=0.43..4.74 rows=1 width=16) (actual rows= loops=)

  • Index Cond: ((advertiserfilter_id = a.id) AND (domains_id = ANY ('{81112,259604,319130,5704464,7568898,8618363}'::integer[])))
11. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 2 (cost=1,123.54..47,315.27 rows=779 width=48) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Gather (cost=1,123.54..47,307.48 rows=779 width=48) (actual rows= loops=)

  • Workers Planned: 2
13. 0.000 0.000 ↓ 0.0

Nested Loop (cost=123.54..46,229.58 rows=325 width=48) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Nested Loop (cost=123.11..35,622.21 rows=2,286 width=24) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Nested Loop (cost=122.69..34,299.97 rows=2,672 width=16) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Parallel Bitmap Heap Scan on partnership_website (cost=122.27..23,444.60 rows=2,672 width=8) (actual rows= loops=)

  • Recheck Cond: (partnerships_id = 691,348)
17. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on partnerships_id_index (cost=0.00..120.66 rows=6,413 width=0) (actual rows= loops=)

  • Index Cond: (partnerships_id = 691,348)
18. 0.000 0.000 ↓ 0.0

Index Scan using website_pkey on website (cost=0.42..4.06 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = partnership_website.websites_id)
19. 0.000 0.000 ↓ 0.0

Index Scan using advertiserfilter_pkey on advertiserfilter af (cost=0.42..0.49 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id = website.advertiserfilter_id)
  • Filter: domainsblacklist
20. 0.000 0.000 ↓ 0.0

Index Only Scan using advertiserfilter_advertiserdomain_pkey on advertiserfilter_advertiserdomain aad_1 (cost=0.43..4.63 rows=1 width=16) (actual rows= loops=)

  • Index Cond: ((advertiserfilter_id = website.advertiserfilter_id) AND (domains_id = ANY ('{81112,259604,319130,5704464,7568898,8618363}'::integer[])))
21. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 3 (cost=1.27..21.63 rows=1 width=48) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.27..21.62 rows=1 width=48) (actual rows= loops=)

  • Join Filter: (partnership.advertiserfilter_id = aad_2.advertiserfilter_id)
23. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.84..16.87 rows=1 width=24) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Index Scan using partnership_pkey on partnership (cost=0.42..8.44 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = 691,348)
25. 0.000 0.000 ↓ 0.0

Index Scan using advertiserfilter_pkey on advertiserfilter af_1 (cost=0.42..8.44 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id = partnership.advertiserfilter_id)
  • Filter: domainsblacklist
26. 0.000 0.000 ↓ 0.0

Index Only Scan using advertiserfilter_advertiserdomain_pkey on advertiserfilter_advertiserdomain aad_2 (cost=0.43..4.74 rows=1 width=16) (actual rows= loops=)

  • Index Cond: ((advertiserfilter_id = af_1.id) AND (domains_id = ANY ('{81112,259604,319130,5704464,7568898,8618363}'::integer[])))
27. 0.000 0.000 ↓ 0.0

Hash (cost=967.21..967.21 rows=54,521 width=23) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Seq Scan on advertiserdomain (cost=0.00..967.21 rows=54,521 width=23) (actual rows= loops=)