explain.depesz.com

PostgreSQL's explain analyze made readable

Result: vGYd

Settings

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 875.786 20,862.869 ↑ 4.2 3,444,051 1

Hash Anti Join (cost=13.75..2,453,165.09 rows=14,476,873 width=88) (actual time=0.183..20,862.869 rows=3,444,051 loops=1)

  • Output: users.user_id, users.customer_id, users.email_address, users.first_name, users.country_code, users.subs_status, users.subs_type, users.mbw, users.email_confirmed, users.gender, users.frequency, users.discount, users.totalsum, users.max_open_date_camp
  • Hash Cond: ((users.email_address)::text = (blacklist.email)::text)
  • Buffers: shared hit=129537 read=454913
  • I/O Timings: read=2197.641
2. 19,986.949 19,986.949 ↑ 4.2 3,444,099 1

Seq Scan on dm.dm_users users (cost=0.00..2,270,374.00 rows=14,477,176 width=88) (actual time=0.041..19,986.949 rows=3,444,099 loops=1)

  • Output: users.id, users.customer_id, users.email_confirmed, users.subs_type, users.email_address, users.first_name, users.country_code, users.mbw, users.date_of_birth, users.gender, users.last_newsl_subscr_chg_date, users.newsl_registration_date, users.orders_cum, users.frequency, users.telephone, users.sms_status, users.totalsum, users.discount, users.rec_simple_sku2, users.max_open_date_camp, users.user_id, users.subs_status, users.last_order_date, users.first_order_date, users.max_open_date_trans, users.max_click_date_camp
  • Filter: ((users.subs_status = 1) AND ((date_part('day'::text, ((CURRENT_DATE)::timestamp without time zone - users.max_open_date_camp)) < '180'::double precision) OR (date_part('day'::text, ((CURRENT_DATE)::timestamp without time zone - users.max_open_date_trans)) < '180'::double precision) OR (date_part('day'::text, ((CURRENT_DATE)::timestamp without time zone - users.newsl_registration_date)) < '180'::double precision) OR (date_part('day'::text, ((CURRENT_DATE)::timestamp without time zone - users.last_newsl_subscr_chg_date)) < '180'::double precision)))
  • Rows Removed by Filter: 23528829
  • Buffers: shared hit=129532 read=454913
  • I/O Timings: read=2197.641
3. 0.064 0.134 ↑ 1.0 389 1

Hash (cost=8.89..8.89 rows=389 width=19) (actual time=0.134..0.134 rows=389 loops=1)

  • Output: blacklist.email
  • Buckets: 1024 Batches: 1 Memory Usage: 28kB
  • Buffers: shared hit=5
4. 0.070 0.070 ↑ 1.0 389 1

Seq Scan on dm.dm_blacklist blacklist (cost=0.00..8.89 rows=389 width=19) (actual time=0.006..0.070 rows=389 loops=1)

  • Output: blacklist.email
  • Buffers: shared hit=5