explain.depesz.com

PostgreSQL's explain analyze made readable

Result: qrMp

Settings
# exclusive inclusive rows x rows loops node
1. 0.849 27.523 ↓ 4.2 1,000 1

Result (cost=51,072.72..51,084.22 rows=236 width=306) (actual time=26.637..27.523 rows=1,000 loops=1)

2. 1.448 26.674 ↓ 4.2 1,000 1

Sort (cost=51,072.72..51,073.31 rows=236 width=282) (actual time=26.629..26.674 rows=1,000 loops=1)

  • Sort Key: tef.blast_id, tef.blast_content_id, tef.surrogate_id
  • Sort Method: quicksort Memory: 290kB
3. 1.022 25.226 ↓ 4.2 1,000 1

Nested Loop (cost=1,033.59..51,063.42 rows=236 width=282) (actual time=3.363..25.226 rows=1,000 loops=1)

4. 0.813 13.204 ↑ 1.4 1,000 1

Nested Loop Left Join (cost=1,033.04..39,189.39 rows=1,386 width=215) (actual time=3.349..13.204 rows=1,000 loops=1)

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

Nested Loop Left Join (cost=1,033.04..38,855.55 rows=1,386 width=206) (actual time=3.337..11.391 rows=1,000 loops=1)

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

Nested Loop Left Join (cost=1,033.04..38,729.74 rows=1,386 width=202) (actual time=3.326..10.152 rows=1,000 loops=1)

7. 0.535 7.459 ↑ 1.4 1,000 1

Nested Loop Left Join (cost=1,016.13..15,249.17 rows=1,386 width=162) (actual time=3.312..7.459 rows=1,000 loops=1)

8. 0.492 4.924 ↑ 1.4 1,000 1

Hash Join (cost=1,015.85..3,689.93 rows=1,386 width=154) (actual time=3.296..4.924 rows=1,000 loops=1)

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

Subquery Scan on tef (cost=0.42..2,557.97 rows=370 width=136) (actual time=0.033..1.183 rows=1,000 loops=1)

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

Limit (cost=0.42..2,545.47 rows=1,000 width=168) (actual time=0.032..1.011 rows=1,000 loops=1)

11. 0.924 0.924 ↑ 10.8 1,000 1

Index Scan using "t_email_f_current$idx4" on t_email_f_current tef_1 (cost=0.42..27,548.01 rows=10,824 width=168) (actual time=0.031..0.924 rows=1,000 loops=1)

  • Index Cond: ((blast_id = '52aaf35f-a101-426d-ae70-70d707ad9498'::uuid) AND (ROW(blast_content_id, surrogate_id) > ROW('b4edc45d-d8d9-41c5-b625-1c0e49588857'::uuid, 0)))
12. 0.428 3.249 ↑ 1.0 2,191 1

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

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

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

14. 2.159 2.601 ↑ 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.473..2.601 rows=2,191 loops=1)

  • Recheck Cond: (bc_organization_uuid = '550c683d-d32d-49ca-acfb-a757a86b5557'::uuid)
  • Heap Blocks: exact=282
15. 0.442 0.442 ↑ 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.442..0.442 rows=2,191 loops=1)

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

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

  • Recheck Cond: (csc_organization_uuid = '550c683d-d32d-49ca-acfb-a757a86b5557'::uuid)
17. 0.028 0.028 ↓ 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.028..0.028 rows=0 loops=1)

  • Index Cond: (csc_organization_uuid = '550c683d-d32d-49ca-acfb-a757a86b5557'::uuid)
18. 0.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. 2.000 2.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.002..0.002 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.007 0.007 ↑ 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.006..0.007 rows=6 loops=1)

26. 0.994 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.006 0.006 ↑ 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.006 rows=16 loops=1)

28. 11.000 11.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.011..0.011 rows=1 loops=1,000)

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