explain.depesz.com

PostgreSQL's explain analyze made readable

Result: jA6u

Settings
# exclusive inclusive rows x rows loops node
1. 13.919 67.955 ↓ 1.2 103 1

GroupAggregate (cost=14,769.60..14,776.19 rows=85 width=110) (actual time=53.385..67.955 rows=103 loops=1)

  • Group Key: query.date, query."s.geo_country_code
2. 6.098 54.036 ↓ 150.4 12,781 1

Sort (cost=14,769.60..14,769.81 rows=85 width=106) (actual time=53.242..54.036 rows=12,781 loops=1)

  • Sort Key: query.date, query."s.geo_country_code
  • Sort Method: quicksort Memory: 2182kB
3. 2.648 47.938 ↓ 150.4 12,781 1

Subquery Scan on query (cost=14,765.81..14,766.87 rows=85 width=106) (actual time=44.296..47.938 rows=12,781 loops=1)

4. 12.460 45.290 ↓ 150.4 12,781 1

Sort (cost=14,765.81..14,766.02 rows=85 width=114) (actual time=44.292..45.290 rows=12,781 loops=1)

  • Sort Key: s.id, p.id
  • Sort Method: quicksort Memory: 2182kB
5. 8.314 32.830 ↓ 150.4 12,781 1

WindowAgg (cost=14,761.18..14,763.09 rows=85 width=114) (actual time=23.505..32.830 rows=12,781 loops=1)

6. 6.585 24.516 ↓ 150.4 12,781 1

Sort (cost=14,761.18..14,761.39 rows=85 width=98) (actual time=23.487..24.516 rows=12,781 loops=1)

  • Sort Key: p.id
  • Sort Method: quicksort Memory: 2182kB
7. 3.683 17.931 ↓ 150.4 12,781 1

Hash Join (cost=13,543.25..14,758.45 rows=85 width=98) (actual time=10.550..17.931 rows=12,781 loops=1)

  • Hash Cond: (p.session_id = s.id)
8. 2.862 14.025 ↓ 96.8 12,781 1

Hash Join (cost=13,413.83..14,627.69 rows=132 width=88) (actual time=10.312..14.025 rows=12,781 loops=1)

  • Hash Cond: (p.id = e.page_view_id)
9. 0.122 0.903 ↓ 1.0 1,279 1

Append (cost=0.00..1,207.95 rows=1,223 width=36) (actual time=0.028..0.903 rows=1,279 loops=1)

10. 0.009 0.009 ↓ 0.0 0 1

Seq Scan on stats_page_view p (cost=0.00..0.00 rows=1 width=36) (actual time=0.008..0.009 rows=0 loops=1)

  • Filter: ((created_at >= '2019-04-01 00:00:00+00'::timestamp with time zone) AND (created_at <= '2019-04-02 23:59:59+00'::timestamp with time zone) AND (property_id = 2))
11. 0.772 0.772 ↓ 1.0 1,279 1

Index Scan using _hyper_3_3_chunk_idx_pageview_property_id_and_created_at on _hyper_3_3_chunk p_1 (cost=0.42..1,201.84 rows=1,222 width=36) (actual time=0.019..0.772 rows=1,279 loops=1)

  • Index Cond: ((property_id = 2) AND (created_at >= '2019-04-01 00:00:00+00'::timestamp with time zone) AND (created_at <= '2019-04-02 23:59:59+00'::timestamp with time zone))
12. 2.677 10.260 ↑ 1.1 12,781 1

Hash (cost=13,245.32..13,245.32 rows=13,481 width=68) (actual time=10.260..10.260 rows=12,781 loops=1)

  • Buckets: 16384 Batches: 1 Memory Usage: 977kB
13. 1.343 7.583 ↑ 1.1 12,781 1

Append (cost=0.00..13,245.32 rows=13,481 width=68) (actual time=0.016..7.583 rows=12,781 loops=1)

14. 0.002 0.002 ↓ 0.0 0 1

Seq Scan on stats_event e (cost=0.00..0.00 rows=1 width=68) (actual time=0.002..0.002 rows=0 loops=1)

  • Filter: ((created_at >= '2019-04-01 00:00:00+00'::timestamp with time zone) AND (created_at <= '2019-04-02 23:59:59+00'::timestamp with time zone) AND (property_id = 2))
15. 6.238 6.238 ↑ 1.1 12,781 1

Index Scan using _hyper_5_4_chunk_idx_event_property_id_and_created_at on _hyper_5_4_chunk e_1 (cost=0.43..13,177.91 rows=13,480 width=68) (actual time=0.014..6.238 rows=12,781 loops=1)

  • Index Cond: ((property_id = 2) AND (created_at >= '2019-04-01 00:00:00+00'::timestamp with time zone) AND (created_at <= '2019-04-02 23:59:59+00'::timestamp with time zone))
16. 0.029 0.223 ↓ 1.0 130 1

Hash (cost=127.80..127.80 rows=129 width=26) (actual time=0.223..0.223 rows=130 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 16kB
17. 0.015 0.194 ↓ 1.0 130 1

Append (cost=0.00..127.80 rows=129 width=26) (actual time=0.020..0.194 rows=130 loops=1)

18. 0.004 0.004 ↓ 0.0 0 1

Seq Scan on stats_session s (cost=0.00..0.00 rows=1 width=62) (actual time=0.004..0.004 rows=0 loops=1)

  • Filter: ((created_at >= '2019-04-01 00:00:00+00'::timestamp with time zone) AND (created_at <= '2019-04-02 23:59:59+00'::timestamp with time zone) AND (property_id = 2))
19. 0.175 0.175 ↓ 1.0 130 1

Index Scan using _hyper_2_2_chunk_idx_session_property_id_and_created_at on _hyper_2_2_chunk s_1 (cost=0.29..127.16 rows=128 width=26) (actual time=0.015..0.175 rows=130 loops=1)

  • Index Cond: ((property_id = 2) AND (created_at >= '2019-04-01 00:00:00+00'::timestamp with time zone) AND (created_at <= '2019-04-02 23:59:59+00'::timestamp with time zone))