explain.depesz.com

PostgreSQL's explain analyze made readable

Result: kRJh

Settings
# exclusive inclusive rows x rows loops node
1. 1.566 344.870 ↓ 4.2 1,000 1

Nested Loop (cost=89,019.80..138,389.27 rows=236 width=306) (actual time=320.137..344.870 rows=1,000 loops=1)

2. 0.925 333.304 ↑ 1.4 1,000 1

Nested Loop Left Join (cost=89,019.25..126,507.28 rows=1,386 width=215) (actual time=320.097..333.304 rows=1,000 loops=1)

3. 0.167 330.379 ↑ 1.4 1,000 1

Nested Loop Left Join (cost=89,002.34..103,026.71 rows=1,386 width=175) (actual time=320.073..330.379 rows=1,000 loops=1)

4. 0.288 328.212 ↑ 1.4 1,000 1

Nested Loop (cost=89,002.06..91,467.47 rows=1,386 width=167) (actual time=320.053..328.212 rows=1,000 loops=1)

5. 0.995 323.924 ↓ 2.7 1,000 1

Nested Loop Left Join (cost=89,001.77..89,141.15 rows=370 width=149) (actual time=320.023..323.924 rows=1,000 loops=1)

  • Join Filter: (tebd.bounce_id = tef.bounce_code_id)
  • Rows Removed by Join Filter: 16000
6. 1.367 321.929 ↓ 2.7 1,000 1

Nested Loop Left Join (cost=89,001.77..89,051.15 rows=370 width=140) (actual time=320.008..321.929 rows=1,000 loops=1)

  • Join Filter: (tebcd.bounce_cat_id = tef.bounce_category_id)
  • Rows Removed by Join Filter: 5000
7. 0.263 320.562 ↓ 2.7 1,000 1

Subquery Scan on tef (cost=89,001.77..89,016.77 rows=370 width=136) (actual time=319.984..320.562 rows=1,000 loops=1)

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

Limit (cost=89,001.77..89,004.27 rows=1,000 width=432) (actual time=319.981..320.299 rows=1,000 loops=1)

9. 84.185 320.199 ↑ 240.2 1,000 1

Sort (cost=89,001.77..89,602.15 rows=240,153 width=432) (actual time=319.980..320.199 rows=1,000 loops=1)

  • Sort Key: tef_1.person_uuid
  • Sort Method: top-N heapsort Memory: 231kB
10. 236.014 236.014 ↑ 1.0 240,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.087..236.014 rows=240,000 loops=1)

  • Index Cond: ((blast_id = '52aaf35f-a101-426d-ae70-70d707ad9498'::uuid) AND (surrogate_id > 0))
11. 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)

12. 0.018 0.018 ↑ 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.017..0.018 rows=6 loops=1)

13. 0.991 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)

14. 0.009 0.009 ↑ 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.009 rows=16 loops=1)

15. 1.000 4.000 ↑ 2.0 1 1,000

Append (cost=0.29..6.27 rows=2 width=50) (actual time=0.002..0.004 rows=1 loops=1,000)

16. 2.000 2.000 ↑ 1.0 1 1,000

Index Scan using "t_email_blast_dim$idx2" on t_email_blast_dim (cost=0.29..4.29 rows=1 width=50) (actual time=0.002..0.002 rows=1 loops=1,000)

  • Index Cond: (bc_identity_uuid = tef.blast_content_id)
  • Filter: (bc_organization_uuid = '550c683d-d32d-49ca-acfb-a757a86b5557'::uuid)
17. 1.000 1.000 ↓ 0.0 0 1,000

Index Scan using "t_communication_series_dim$idx1" on t_communication_series_dim (cost=0.28..1.97 rows=1 width=57) (actual time=0.001..0.001 rows=0 loops=1,000)

  • Index Cond: (csc_identity_uuid = tef.blast_content_id)
  • Filter: (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. 10.000 10.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.010..0.010 rows=1 loops=1,000)

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