explain.depesz.com

PostgreSQL's explain analyze made readable

Result: akdv

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

Hash Join (cost=196,047.16..199,334.42 rows=26,272 width=87) (actual rows= loops=)

  • Hash Cond: (all_domains.domains_id = advertiserdomain.id)
  • Functions: 65
  • Options: Inlining false, Optimization false, Expressions true, Deforming true
2. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=194,398.44..197,354.02 rows=26,272 width=72) (actual rows= loops=)

  • Group Key: all_domains.domains_id, all_domains.block_type
3. 0.000 0.000 ↓ 0.0

Sort (cost=194,398.44..195,055.23 rows=262,718 width=48) (actual rows= loops=)

  • Sort Key: all_domains.domains_id, all_domains.block_type
4. 0.000 0.000 ↓ 0.0

Subquery Scan on all_domains (cost=157,410.31..162,664.67 rows=262,718 width=48) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Unique (cost=157,410.31..160,037.49 rows=262,718 width=48) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Sort (cost=157,410.31..158,067.11 rows=262,718 width=48) (actual rows= loops=)

  • Sort Key: aad.domains_id, supplypartner.id, ('s'::text)
7. 0.000 0.000 ↓ 0.0

Append (cost=1.12..125,676.55 rows=262,718 width=48) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

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

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

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

10. 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)
11. 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
12. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (advertiserfilter_id = a.id)
13. 0.000 0.000 ↓ 0.0

Hash Join (cost=39,043.11..121,672.87 rows=262,622 width=48) (actual rows= loops=)

  • Hash Cond: (website.advertiserfilter_id = af.id)
14. 0.000 0.000 ↓ 0.0

Gather (cost=35,333.37..115,458.71 rows=127,781 width=32) (actual rows= loops=)

  • Workers Planned: 2
15. 0.000 0.000 ↓ 0.0

Parallel Hash Join (cost=34,333.37..101,680.61 rows=53,242 width=32) (actual rows= loops=)

  • Hash Cond: (aad_1.advertiserfilter_id = website.advertiserfilter_id)
16. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on advertiserfilter_advertiserdomain aad_1 (cost=0.00..57,705.84 rows=2,511,884 width=16) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=34,299.97..34,299.97 rows=2,672 width=16) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

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

19. 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)
20. 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)
21. 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)
22. 0.000 0.000 ↓ 0.0

Hash (cost=1,941.55..1,941.55 rows=107,775 width=8) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Seq Scan on advertiserfilter af (cost=0.00..1,941.55 rows=107,775 width=8) (actual rows= loops=)

  • Filter: domainsblacklist
24. 0.000 0.000 ↓ 0.0

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

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

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

26. 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)
27. 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
28. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (advertiserfilter_id = af_1.id)
29. 0.000 0.000 ↓ 0.0

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

  • -> Seq Scan on advertiserdomain (cost=0.00..967.21 rows=54,521 width=23)JIT: