explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ReZi

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

GroupAggregate (cost=161,545.49..167,456.64 rows=262,718 width=87) (actual rows= loops=)

  • Group Key: ""*SELECT* 1"".t, advertiserdomain.id
  • Functions: 65
  • Options: Inlining false, Optimization false, Expressions true, Deforming true
2. 0.000 0.000 ↓ 0.0

Sort (cost=161,545.49..162,202.28 rows=262,718 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..128,016.22 rows=262,718 width=63) (actual rows= loops=)

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

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

5. 0.000 0.000 ↓ 0.0

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

6. 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)
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..9.59 rows=405 width=16) (actual rows= loops=)

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

Subquery Scan on *SELECT* 2 (cost=39,043.11..124,300.35 rows=262,622 width=48) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

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

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

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

  • Workers Planned: 2
14. 0.000 0.000 ↓ 0.0

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

  • Hash Cond: (aad_1.advertiserfilter_id = website.advertiserfilter_id)
15. 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=)

16. 0.000 0.000 ↓ 0.0

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

17. 0.000 0.000 ↓ 0.0

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

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

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

22. 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
23. 0.000 0.000 ↓ 0.0

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

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: