explain.depesz.com

PostgreSQL's explain analyze made readable

Result: JqUg

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

HashAggregate (cost=1,324,155.38..1,324,157.38 rows=200 width=62) (actual rows= loops=)

  • Group Key: s.last_location_fragment
2. 0.000 0.000 ↓ 0.0

HashAggregate (cost=1,315,049.98..1,318,692.14 rows=364,216 width=38) (actual rows= loops=)

  • Group Key: s.last_location_fragment, o.person_id
3. 0.000 0.000 ↓ 0.0

Gather (cost=1,000.56..1,313,228.90 rows=364,216 width=38) (actual rows= loops=)

  • Workers Planned: 4
4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.56..1,275,807.30 rows=91,054 width=38) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Append (cost=0.00..1,101,429.50 rows=91,055 width=38) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on event_page_ace8b421_634f_4060_9118_ffc36db704dc o (cost=0.00..0.00 rows=1 width=82) (actual rows= loops=)

  • Filter: ((timestamp_ >= '2019-02-06 07:00:00'::timestamp without time zone) AND (timestamp_ <= '2019-04-08 05:59:59.999'::timestamp without time zone) AND ((location_host)::text ~~ '2018.hrblockonline.ca'::text) AND ((location_path)::text ~~ '/'::text) AND ((location_fragment)::text ~~ '/prepare/your-year/introduction'::text))
7. 0.000 0.000 ↓ 0.0

Parallel Index Only Scan using ep_ace8b421_634f_4060_9118_ffc36db704dc_2019_2_location on event_page_ace8b421_634f_4060_9118_ffc36db704dc_2019_2 o_1 (cost=0.81..297,434.63 rows=23,323 width=38) (actual rows= loops=)

  • Index Cond: ((location_host = '2018.hrblockonline.ca'::text) AND (location_path = '/'::text) AND (location_fragment = '/prepare/your-year/introduction'::text) AND (timestamp_ >= '2019-02-06 07:00:00'::timestamp without time zone) AND (timestamp_ <= '2019-04-08 05:59:59.999'::timestamp without time zone))
  • Filter: (((location_host)::text ~~ '2018.hrblockonline.ca'::text) AND ((location_path)::text ~~ '/'::text) AND ((location_fragment)::text ~~ '/prepare/your-year/introduction'::text))
8. 0.000 0.000 ↓ 0.0

Parallel Index Only Scan using ep_ace8b421_634f_4060_9118_ffc36db704dc_2019_3_location on event_page_ace8b421_634f_4060_9118_ffc36db704dc_2019_3 o_2 (cost=0.81..646,934.70 rows=57,122 width=38) (actual rows= loops=)

  • Index Cond: ((location_host = '2018.hrblockonline.ca'::text) AND (location_path = '/'::text) AND (location_fragment = '/prepare/your-year/introduction'::text) AND (timestamp_ >= '2019-02-06 07:00:00'::timestamp without time zone) AND (timestamp_ <= '2019-04-08 05:59:59.999'::timestamp without time zone))
  • Filter: (((location_host)::text ~~ '2018.hrblockonline.ca'::text) AND ((location_path)::text ~~ '/'::text) AND ((location_fragment)::text ~~ '/prepare/your-year/introduction'::text))
9. 0.000 0.000 ↓ 0.0

Parallel Index Only Scan using ep_ace8b421_634f_4060_9118_ffc36db704dc_2019_4_location on event_page_ace8b421_634f_4060_9118_ffc36db704dc_2019_4 o_3 (cost=0.81..157,060.18 rows=10,609 width=38) (actual rows= loops=)

  • Index Cond: ((location_host = '2018.hrblockonline.ca'::text) AND (location_path = '/'::text) AND (location_fragment = '/prepare/your-year/introduction'::text) AND (timestamp_ >= '2019-02-06 07:00:00'::timestamp without time zone) AND (timestamp_ <= '2019-04-08 05:59:59.999'::timestamp without time zone))
  • Filter: (((location_host)::text ~~ '2018.hrblockonline.ca'::text) AND ((location_path)::text ~~ '/'::text) AND ((location_fragment)::text ~~ '/prepare/your-year/introduction'::text))
10. 0.000 0.000 ↓ 0.0

Index Scan using session_ace8b421_634f_4060_9118_ffc36db704dc__pid_ts on session_ace8b421_634f_4060_9118_ffc36db704dc s (cost=0.56..1.91 rows=1 width=59) (actual rows= loops=)

  • Index Cond: ((o.person_id = person_id) AND (first_seen >= '2019-02-06 07:00:00'::timestamp without time zone) AND (first_seen <= '2019-04-08 05:59:59.999'::timestamp without time zone))
  • Filter: ((o.session_id)::text = (session_id)::text)