explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Vvtx

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Nested Loop (cost=291.31..26,488,366,348.96 rows=1 width=590) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=291.31..92,839.51 rows=3,690 width=590) (actual rows= loops=)

  • Filter: ((mobile_data.android_app_version IS NULL) AND (mobile_data.ios_app_version IS NULL))
3. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on profiles (cost=290.89..33,557.55 rows=10,123 width=394) (actual rows= loops=)

  • Recheck Cond: (community_id = 2514)
4. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on profiles_community_id_msisdn_index (cost=0.00..288.36 rows=10,123 width=0) (actual rows= loops=)

  • Index Cond: (community_id = 2514)
5. 0.000 0.000 ↓ 0.0

Index Scan using mobile_data_member_id_index on mobile_data (cost=0.43..5.85 rows=1 width=196) (actual rows= loops=)

  • Index Cond: (member_id = profiles.member_id)
6. 0.000 0.000 ↓ 0.0

Subquery Scan on ex1 (cost=0.00..7,178,393.90 rows=1 width=4) (actual rows= loops=)

  • Filter: (profiles.member_id = ex1.cpn_member_id)
7. 0.000 0.000 ↓ 0.0

Unique (cost=0.00..7,178,393.88 rows=1 width=4) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Group (cost=0.00..7,178,393.88 rows=1 width=4) (actual rows= loops=)

  • Group Key: coupons.member_id
9. 0.000 0.000 ↓ 0.0

Seq Scan on coupons (cost=0.00..7,178,393.88 rows=1 width=4) (actual rows= loops=)

  • Filter: ((member_id IS NOT NULL) AND (used >= '2019-10-04 00:00:00'::timestamp without time zone) AND (used <= '2019-10-09 23:59:59'::timestamp without time zone) AND (profiles.member_id = member_id))