explain.depesz.com

PostgreSQL's explain analyze made readable

Result: tuTN

Settings
# exclusive inclusive rows x rows loops node
1. 0.865 21.769 ↓ 4.2 1,000 1

Result (cost=48,843.44..48,854.95 rows=236 width=306) (actual time=20.865..21.769 rows=1,000 loops=1)

2. 1.096 20.904 ↓ 4.2 1,000 1

Sort (cost=48,843.44..48,844.03 rows=236 width=282) (actual time=20.856..20.904 rows=1,000 loops=1)

  • Sort Key: tef.person_uuid
  • Sort Method: quicksort Memory: 290kB
3. 0.972 19.808 ↓ 4.2 1,000 1

Nested Loop (cost=1,033.59..48,834.14 rows=236 width=282) (actual time=4.038..19.808 rows=1,000 loops=1)

4. 1.052 13.836 ↑ 1.4 1,000 1

Nested Loop Left Join (cost=1,033.04..36,960.12 rows=1,386 width=215) (actual time=4.022..13.836 rows=1,000 loops=1)

  • Join Filter: (tebd.bounce_id = tef.bounce_code_id)
  • Rows Removed by Join Filter: 16000
5. 1.294 11.784 ↑ 1.4 1,000 1

Nested Loop Left Join (cost=1,033.04..36,626.28 rows=1,386 width=206) (actual time=4.007..11.784 rows=1,000 loops=1)

  • Join Filter: (tebcd.bounce_cat_id = tef.bounce_category_id)
  • Rows Removed by Join Filter: 5000
6. 0.749 10.490 ↑ 1.4 1,000 1

Nested Loop Left Join (cost=1,033.04..36,500.47 rows=1,386 width=202) (actual time=3.993..10.490 rows=1,000 loops=1)

7. 0.280 7.741 ↑ 1.4 1,000 1

Nested Loop Left Join (cost=1,016.13..13,019.89 rows=1,386 width=162) (actual time=3.978..7.741 rows=1,000 loops=1)

8. 0.471 5.461 ↑ 1.4 1,000 1

Hash Join (cost=1,015.85..1,460.65 rows=1,386 width=154) (actual time=3.961..5.461 rows=1,000 loops=1)

  • Hash Cond: (tef.blast_content_id = t_email_blast_dim.bc_identity_uuid)
9. 0.156 1.081 ↓ 2.7 1,000 1

Subquery Scan on tef (cost=0.42..328.70 rows=370 width=136) (actual time=0.036..1.081 rows=1,000 loops=1)

  • Filter: (tef.organization_uuid = '550c683d-d32d-49ca-acfb-a757a86b5557'::uuid)
10. 0.081 0.925 ↑ 1.0 1,000 1

Limit (cost=0.42..316.20 rows=1,000 width=432) (actual time=0.034..0.925 rows=1,000 loops=1)

11. 0.844 0.844 ↑ 240.2 1,000 1

Index Scan using "t_email_f_current$idx4" on t_email_f_current tef_1 (cost=0.42..75,834.44 rows=240,153 width=432) (actual time=0.033..0.844 rows=1,000 loops=1)

  • Index Cond: ((blast_id = '52aaf35f-a101-426d-ae70-70d707ad9498'::uuid) AND (surrogate_id > 0))
12. 0.551 3.909 ↑ 1.0 2,191 1

Hash (cost=987.98..987.98 rows=2,195 width=50) (actual time=3.909..3.909 rows=2,191 loops=1)

  • Buckets: 4096 Batches: 1 Memory Usage: 201kB
13. 0.229 3.358 ↑ 1.0 2,191 1

Append (cost=101.27..987.98 rows=2,195 width=50) (actual time=0.372..3.358 rows=2,191 loops=1)

14. 2.780 3.113 ↑ 1.0 2,191 1

Bitmap Heap Scan on t_email_blast_dim (cost=101.27..969.65 rows=2,191 width=50) (actual time=0.372..3.113 rows=2,191 loops=1)

  • Recheck Cond: (bc_organization_uuid = '550c683d-d32d-49ca-acfb-a757a86b5557'::uuid)
  • Heap Blocks: exact=282
15. 0.333 0.333 ↑ 1.0 2,191 1

Bitmap Index Scan on "t_email_blast_dim$idx1" (cost=0.00..100.72 rows=2,191 width=0) (actual time=0.333..0.333 rows=2,191 loops=1)

  • Index Cond: (bc_organization_uuid = '550c683d-d32d-49ca-acfb-a757a86b5557'::uuid)
16. 0.000 0.016 ↓ 0.0 0 1

Bitmap Heap Scan on t_communication_series_dim (cost=4.31..18.33 rows=4 width=57) (actual time=0.016..0.016 rows=0 loops=1)

  • Recheck Cond: (csc_organization_uuid = '550c683d-d32d-49ca-acfb-a757a86b5557'::uuid)
17. 0.016 0.016 ↓ 0.0 0 1

Bitmap Index Scan on "t_communication_series_dim$idx3" (cost=0.00..4.31 rows=4 width=0) (actual time=0.016..0.016 rows=0 loops=1)

  • Index Cond: (csc_organization_uuid = '550c683d-d32d-49ca-acfb-a757a86b5557'::uuid)
18. 1.000 2.000 ↓ 0.0 0 1,000

GroupAggregate (cost=0.28..8.32 rows=1 width=40) (actual time=0.002..0.002 rows=0 loops=1,000)

  • Group Key: i.targeted_person_uuid, i.referring_entity_id
19. 1.000 1.000 ↓ 0.0 0 1,000

Index Scan using "t_interaction$idx3" on t_interaction i (cost=0.28..8.30 rows=1 width=32) (actual time=0.001..0.001 rows=0 loops=1,000)

  • Index Cond: ((referring_entity_id = tef.blast_content_id) AND (targeted_person_uuid = tef.person_uuid))
  • Filter: (entity_type = 'TrackingLink'::text)
20. 0.000 2.000 ↑ 1.0 1 1,000

Aggregate (cost=16.91..16.92 rows=1 width=40) (actual time=0.002..0.002 rows=1 loops=1,000)

21. 1.000 2.000 ↓ 0.0 0 1,000

Nested Loop Left Join (cost=0.85..16.90 rows=1 width=57) (actual time=0.002..0.002 rows=0 loops=1,000)

22. 1.000 1.000 ↓ 0.0 0 1,000

Index Scan using "t_activity$idx2" on t_activity ta (cost=0.43..8.45 rows=1 width=61) (actual time=0.001..0.001 rows=0 loops=1,000)

  • Index Cond: ((referring_entity_id = tef.blast_content_id) AND (person_uuid = tef.person_uuid))
  • Filter: (activity_type <> ALL ('{Unsubscribe,SubMgmt,P2PRegistration}'::text[]))
23. 0.000 0.000 ↓ 0.0 0

Index Scan using "t_donation_intent$idx5" on t_donation_intent di (cost=0.42..8.44 rows=1 width=28) (never executed)

  • Index Cond: (activity_uuid = ta.uuid)
24. 0.000 0.000 ↑ 1.0 6 1,000

Materialize (cost=0.00..1.09 rows=6 width=12) (actual time=0.000..0.000 rows=6 loops=1,000)

25. 0.009 0.009 ↑ 1.0 6 1

Seq Scan on t_email_bounce_cat_dim tebcd (cost=0.00..1.06 rows=6 width=12) (actual time=0.008..0.009 rows=6 loops=1)

26. 0.993 1.000 ↑ 1.0 16 1,000

Materialize (cost=0.00..1.24 rows=16 width=17) (actual time=0.000..0.001 rows=16 loops=1,000)

27. 0.007 0.007 ↑ 1.0 16 1

Seq Scan on t_email_bounce_dim tebd (cost=0.00..1.16 rows=16 width=17) (actual time=0.004..0.007 rows=16 loops=1)

28. 5.000 5.000 ↑ 1.0 1 1,000

Index Scan using "t_person_dim$idx1" on t_person_dim_backend p (cost=0.56..8.57 rows=1 width=135) (actual time=0.005..0.005 rows=1 loops=1,000)

  • Index Cond: ((organization_uuid = '550c683d-d32d-49ca-acfb-a757a86b5557'::uuid) AND (person_uuid = tef.person_uuid))