explain.depesz.com

PostgreSQL's explain analyze made readable

Result: G3lr

Settings
# exclusive inclusive rows x rows loops node
1. 0.258 63.583 ↑ 1.1 42 1

Nested Loop (cost=12,182.18..63,414.54 rows=46 width=1,480) (actual time=35.822..63.583 rows=42 loops=1)

  • Join Filter: (send_mail_email.id = stats.email_id)
2. 0.106 62.695 ↑ 1.1 42 1

Nested Loop (cost=12,181.76..62,054.36 rows=46 width=1,229) (actual time=35.763..62.695 rows=42 loops=1)

3. 0.049 62.421 ↑ 1.1 42 1

Limit (cost=12,181.34..61,665.09 rows=46 width=4) (actual time=35.742..62.421 rows=42 loops=1)

4. 37.609 62.372 ↑ 1.1 42 1

Bitmap Heap Scan on send_mail_email (cost=12,181.34..61,665.09 rows=46 width=4) (actual time=35.739..62.372 rows=42 loops=1)

  • Recheck Cond: ((app_id = 1) AND (date(timezone('UTC'::text, created_at)) >= '2018-02-12'::date) AND (date(timezone('UTC'::text, created_at)) <= '2019-03-11'::date) AND (status = ANY ('{3}'::integer[])))
  • Filter: ((email)::text ~~* '%thiago.decastro2@gmail.com%'::text)
  • Rows Removed by Filter: 19400
  • Heap Blocks: exact=7017
5. 24.763 24.763 ↓ 1.3 19,442 1

Bitmap Index Scan on send_mail_email_app_id_created_at_asdate_status (cost=0.00..12,181.32 rows=14,510 width=0) (actual time=24.763..24.763 rows=19,442 loops=1)

  • Index Cond: ((app_id = 1) AND (date(timezone('UTC'::text, created_at)) >= '2018-02-12'::date) AND (date(timezone('UTC'::text, created_at)) <= '2019-03-11'::date) AND (status = ANY ('{3}'::integer[])))
6. 0.168 0.168 ↑ 1.0 1 42

Index Scan using send_mail_email_pkey on send_mail_email info (cost=0.42..8.44 rows=1 width=1,225) (actual time=0.004..0.004 rows=1 loops=42)

  • Index Cond: (id = send_mail_email.id)
7. 0.168 0.168 ↑ 1.0 1 42

Index Scan using collector_stats_fc41f286 on collector_stats stats (cost=0.42..0.60 rows=1 width=255) (actual time=0.003..0.004 rows=1 loops=42)

  • Index Cond: (email_id = info.id)
8.          

SubPlan (forNested Loop)

9. 0.084 0.126 ↑ 1.0 1 42

Result (cost=4.18..4.19 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=42)

10.          

Initplan (forResult)

11. 0.042 0.042 ↓ 0.0 0 42

Index Only Scan using track_linkemail_fdfd0ebf on track_linkemail (cost=0.15..8.22 rows=2 width=0) (actual time=0.001..0.001 rows=0 loops=42)

  • Index Cond: (email_id = info.id)
  • Heap Fetches: 0
12. 0.084 0.126 ↑ 1.0 1 42

Result (cost=8.17..8.18 rows=1 width=0) (actual time=0.002..0.003 rows=1 loops=42)

13.          

Initplan (forResult)

14. 0.042 0.042 ↓ 0.0 0 42

Index Only Scan using track_mailopen_fdfd0ebf on track_mailopen (cost=0.15..8.17 rows=1 width=0) (actual time=0.001..0.001 rows=0 loops=42)

  • Index Cond: (email_id = info.id)
  • Heap Fetches: 0
15. 0.084 0.084 ↓ 0.0 0 42

Index Scan using campaign_campaign_pkey on campaign_campaign (cost=0.28..8.29 rows=1 width=4) (actual time=0.001..0.002 rows=0 loops=42)

  • Index Cond: (id = info.campaign_id)
16. 0.126 0.126 ↑ 1.0 1 42

Index Scan using mail_template_template_pkey on mail_template_template (cost=0.27..8.29 rows=1 width=32) (actual time=0.003..0.003 rows=1 loops=42)

  • Index Cond: (id = info.template_id)