explain.depesz.com

PostgreSQL's explain analyze made readable

Result: MQj1 : hi

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

"QUERY PLAN": "GroupAggregate (cost=21,910.79..21,918.85 rows=1 width=48) (actual rows= loops=)

  • },
  • "QUERY PLAN": " Group Key: (((klaviyo_events.body -> 'event_properties'::text) ->> '$message'::text))
  • },
  • },
  • },
  • },
  • "QUERY PLAN": " Sort Key: (((klaviyo_events.body -> 'event_properties'::text) ->> '$message'::text)), orders_1.id, (((orders_1.body ->> 'total_price'::text))::double precision)
  • },
  • },
  • "QUERY PLAN": " Join Filter: (((date_part('epoch'::text, (orders_1.created_at - klaviyo_events.created_at)) / '60'::double precision) >= '0'::double precision) AND ((date_part('epoch'::text, (orders_1.created_at - klaviyo_events.created_at)) / '60'::double precision) <= '90'::double precision) AND (((klaviyo_events.body -> 'person'::text) ->> 'email'::text) = (orders_1.body ->> 'email'::text)))
  • },
  • },
  • },
  • "QUERY PLAN": " Workers Planned: 2
  • },
  • },
  • "QUERY PLAN": " Filter: (((shopify_domain)::text = 'www-products.myshopify.com'::text) AND (((body -> 'person'::text) ->> 'email'::text) !~~ '%@thepony.co'::text) AND (((body -> 'event_properties'::text) ->> 'URL'::text) ~~ '%herliaison.com%'::text) AND (((body -> 'event_properties'::text) ->> 'URL'::text) !~~ '%/cus_%'::text) AND (((body -> 'event_properties'::text) ->> '$message'::text) = ANY ('{TfpRL2,UCJs6P,VG239w,WGMTxa,RpjbnM,Uukdj2,Srj2A5,TmYuby,XGghZd,WHLcEV,XUAji8,XsPNpM,KZUuxa,My8BPR,LWkv7d,PFpKv7,PQLBYt,KPW9G8,J8EP9K,NNZytT,JNiHUd,H5sMDR,JmH8PS,Qd6Cdb}'::text[])))
  • },
  • },
  • "QUERY PLAN": " Index Cond: ((id)::text = (klaviyo_events_1.id)::text)
  • },
  • },
  • "QUERY PLAN": " Filter: ((shopify_domain = 'www-products.myshopify.com'::text) AND ((body ->> 'financial_status'::text) = ANY ('{paid,pending}'::text[])))
  • },
  • },
  • "QUERY PLAN": " Index Cond: (id = orders_1.id)
  • }]
2. 0.000 0.000 ↓ 0.0

"QUERY PLAN": " -> Nested Loop (cost=21,910.79..21,918.83 rows=1 width=53) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

"QUERY PLAN": " -> Unique (cost=21,910.37..21,910.39 rows=1 width=53) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

"QUERY PLAN": " -> Sort (cost=21,910.37..21,910.38 rows=1 width=53) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

"QUERY PLAN": " -> Nested Loop (cost=1,000.42..21,910.36 rows=1 width=53) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

"QUERY PLAN": " -> Nested Loop (cost=1,000.42..17,891.60 rows=1 width=836) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

"QUERY PLAN": " -> Gather (cost=1,000.00..17,883.16 rows=1 width=37) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

"QUERY PLAN": " -> Parallel Seq Scan on klaviyo_events klaviyo_events_1 (cost=0.00..16,883.06 rows=1 width=37) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

"QUERY PLAN": " -> Index Scan using klaviyo_events_pkey on klaviyo_events (cost=0.42..8.44 rows=1 width=873) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

"QUERY PLAN": " -> Seq Scan on orders orders_1 (cost=0.00..3,967.55 rows=1,280 width=39) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

"QUERY PLAN": " -> Index Only Scan using orders_pkey on orders (cost=0.42..8.44 rows=1 width=13) (actual rows= loops=)