explain.depesz.com

PostgreSQL's explain analyze made readable

Result: TKcG

Settings
# exclusive inclusive rows x rows loops node
1. 0.176 472.980 ↑ 1.0 900 1

Limit (cost=25.71..24,984.50 rows=900 width=32) (actual time=2.027..472.980 rows=900 loops=1)

2. 0.591 472.804 ↑ 1.3 900 1

Nested Loop Left Join (cost=25.71..32,028.42 rows=1,154 width=32) (actual time=2.027..472.804 rows=900 loops=1)

3. 0.978 20.413 ↑ 1.3 900 1

Nested Loop (cost=25.28..26,329.60 rows=1,154 width=32) (actual time=0.735..20.413 rows=900 loops=1)

4. 0.874 18.535 ↑ 1.3 900 1

Nested Loop (cost=25.14..26,141.85 rows=1,154 width=32) (actual time=0.721..18.535 rows=900 loops=1)

5. 1.086 15.861 ↑ 1.3 900 1

Nested Loop (cost=24.85..25,513.79 rows=1,154 width=32) (actual time=0.703..15.861 rows=900 loops=1)

6. 0.782 12.975 ↑ 1.3 900 1

Nested Loop (cost=24.57..25,148.11 rows=1,154 width=28) (actual time=0.679..12.975 rows=900 loops=1)

7. 0.346 10.393 ↑ 1.3 900 1

Nested Loop (cost=24.30..24,803.67 rows=1,154 width=28) (actual time=0.659..10.393 rows=900 loops=1)

8. 1.166 7.347 ↑ 1.3 900 1

Nested Loop (cost=24.02..24,460.35 rows=1,154 width=20) (actual time=0.644..7.347 rows=900 loops=1)

9. 0.350 2.581 ↑ 1.3 900 1

Custom Scan (ConstraintAwareAppend) (cost=23.59..21,691.93 rows=1,154 width=20) (actual time=0.615..2.581 rows=900 loops=1)

  • Hypertable: aggregate_event_seating_quantitative_summary_change
  • Chunks left after exclusion: 40
10. 0.311 2.231 ↑ 1.3 900 1

Merge Append (cost=23.59..21,691.93 rows=1,154 width=20) (actual time=0.614..2.231 rows=900 loops=1)

  • Sort Key: aesqsc1_1.event_start_time
11. 0.019 0.019 ↑ 8.0 1 1

Index Scan Backward using _hyper_2_4_chunk_aggregate_event_seating_quantitative_summa_eve on _hyper_2_4_chunk aesqsc1_1 (cost=0.28..68.16 rows=8 width=20) (actual time=0.019..0.019 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
12. 0.013 0.013 ↑ 76.0 1 1

Index Scan Backward using _hyper_2_15_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_15_chunk aesqsc1_2 (cost=0.29..601.68 rows=76 width=20) (actual time=0.013..0.013 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
13. 0.014 0.014 ↑ 121.0 1 1

Index Scan Backward using _hyper_2_16_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_16_chunk aesqsc1_3 (cost=0.29..920.90 rows=121 width=20) (actual time=0.014..0.014 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
14. 0.017 0.017 ↑ 9.0 1 1

Index Scan Backward using _hyper_2_20_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_20_chunk aesqsc1_4 (cost=0.28..97.08 rows=9 width=20) (actual time=0.017..0.017 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
15. 0.015 0.015 ↑ 10.0 1 1

Index Scan Backward using _hyper_2_25_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_25_chunk aesqsc1_5 (cost=0.28..107.18 rows=10 width=20) (actual time=0.015..0.015 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
16. 0.013 0.013 ↑ 7.0 1 1

Index Scan Backward using _hyper_2_28_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_28_chunk aesqsc1_6 (cost=0.28..66.19 rows=7 width=20) (actual time=0.013..0.013 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
17. 0.011 0.011 ↑ 2.0 1 1

Index Scan Backward using _hyper_2_30_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_30_chunk aesqsc1_7 (cost=0.28..26.92 rows=2 width=20) (actual time=0.011..0.011 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
18. 0.011 0.011 ↑ 6.0 1 1

Index Scan Backward using _hyper_2_31_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_31_chunk aesqsc1_8 (cost=0.28..49.74 rows=6 width=20) (actual time=0.011..0.011 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
19. 0.015 0.015 ↑ 4.0 1 1

Index Scan Backward using _hyper_2_32_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_32_chunk aesqsc1_9 (cost=0.28..43.53 rows=4 width=20) (actual time=0.015..0.015 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
20. 0.013 0.013 ↑ 57.0 1 1

Index Scan Backward using _hyper_2_34_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_34_chunk aesqsc1_10 (cost=0.29..464.05 rows=57 width=20) (actual time=0.013..0.013 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
21. 0.011 0.011 ↑ 3.0 1 1

Index Scan Backward using _hyper_2_36_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_36_chunk aesqsc1_11 (cost=0.28..37.36 rows=3 width=20) (actual time=0.011..0.011 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
22. 0.016 0.016 ↑ 6.0 1 1

Index Scan Backward using _hyper_2_39_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_39_chunk aesqsc1_12 (cost=0.28..67.26 rows=6 width=20) (actual time=0.016..0.016 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
23. 0.014 0.014 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_42_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_42_chunk aesqsc1_13 (cost=0.15..12.89 rows=1 width=20) (actual time=0.014..0.014 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
24. 0.020 0.020 ↑ 378.0 1 1

Index Scan Backward using _hyper_2_44_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_44_chunk aesqsc1_14 (cost=0.30..2,761.34 rows=378 width=20) (actual time=0.020..0.020 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
25. 1.335 1.335 ↓ 2.3 900 1

Index Scan Backward using _hyper_2_45_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_45_chunk aesqsc1_15 (cost=0.43..15,799.07 rows=391 width=20) (actual time=0.019..1.335 rows=900 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
26. 0.011 0.011 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_46_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_46_chunk aesqsc1_16 (cost=0.14..4.11 rows=1 width=20) (actual time=0.011..0.011 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
27. 0.011 0.011 ↑ 2.0 1 1

Index Scan Backward using _hyper_2_47_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_47_chunk aesqsc1_17 (cost=0.28..23.75 rows=2 width=20) (actual time=0.011..0.011 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
28. 0.012 0.012 ↑ 4.0 1 1

Index Scan Backward using _hyper_2_48_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_48_chunk aesqsc1_18 (cost=0.28..36.93 rows=4 width=20) (actual time=0.012..0.012 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
29. 0.043 0.043 ↑ 6.0 1 1

Index Scan Backward using _hyper_2_49_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_49_chunk aesqsc1_19 (cost=0.28..47.74 rows=6 width=20) (actual time=0.043..0.043 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
30. 0.015 0.015 ↑ 7.0 1 1

Index Scan Backward using _hyper_2_50_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_50_chunk aesqsc1_20 (cost=0.28..56.72 rows=7 width=20) (actual time=0.015..0.015 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
31. 0.023 0.023 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_51_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_51_chunk aesqsc1_21 (cost=0.15..13.40 rows=1 width=20) (actual time=0.023..0.023 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
32. 0.012 0.012 ↑ 3.0 1 1

Index Scan Backward using _hyper_2_52_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_52_chunk aesqsc1_22 (cost=0.28..22.12 rows=3 width=20) (actual time=0.012..0.012 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
33. 0.012 0.012 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_53_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_53_chunk aesqsc1_23 (cost=0.15..14.88 rows=1 width=20) (actual time=0.012..0.012 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
34. 0.017 0.017 ↑ 2.0 1 1

Index Scan Backward using _hyper_2_54_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_54_chunk aesqsc1_24 (cost=0.15..16.01 rows=2 width=20) (actual time=0.017..0.017 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
35. 0.012 0.012 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_56_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_56_chunk aesqsc1_25 (cost=0.15..14.88 rows=1 width=20) (actual time=0.012..0.012 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
36. 0.011 0.011 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_57_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_57_chunk aesqsc1_26 (cost=0.15..14.88 rows=1 width=20) (actual time=0.011..0.011 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
37. 0.017 0.017 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_58_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_58_chunk aesqsc1_27 (cost=0.15..7.14 rows=1 width=20) (actual time=0.017..0.017 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
38. 0.010 0.010 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_59_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_59_chunk aesqsc1_28 (cost=0.15..14.88 rows=1 width=20) (actual time=0.010..0.010 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
39. 0.009 0.009 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_60_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_60_chunk aesqsc1_29 (cost=0.15..14.88 rows=1 width=20) (actual time=0.009..0.009 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
40. 0.026 0.026 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_61_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_61_chunk aesqsc1_30 (cost=0.15..14.88 rows=1 width=20) (actual time=0.026..0.026 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
41. 0.030 0.030 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_62_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_62_chunk aesqsc1_31 (cost=0.15..8.72 rows=1 width=20) (actual time=0.030..0.030 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
42. 0.011 0.011 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_63_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_63_chunk aesqsc1_32 (cost=0.15..14.88 rows=1 width=20) (actual time=0.011..0.011 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
43. 0.013 0.013 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_64_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_64_chunk aesqsc1_33 (cost=0.15..14.88 rows=1 width=20) (actual time=0.013..0.013 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
44. 0.017 0.017 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_65_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_65_chunk aesqsc1_34 (cost=0.15..14.88 rows=1 width=20) (actual time=0.017..0.017 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
45. 0.011 0.011 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_66_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_66_chunk aesqsc1_35 (cost=0.15..14.88 rows=1 width=20) (actual time=0.011..0.011 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
46. 0.010 0.010 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_67_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_67_chunk aesqsc1_36 (cost=0.15..14.88 rows=1 width=20) (actual time=0.010..0.010 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
47. 0.010 0.010 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_68_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_68_chunk aesqsc1_37 (cost=0.15..14.88 rows=1 width=20) (actual time=0.010..0.010 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
48. 0.011 0.011 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_69_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_69_chunk aesqsc1_38 (cost=0.15..14.88 rows=1 width=20) (actual time=0.011..0.011 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
49. 0.015 0.015 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_70_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_70_chunk aesqsc1_39 (cost=0.15..14.88 rows=1 width=20) (actual time=0.015..0.015 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
50. 0.014 0.014 ↑ 1.0 1 1

Index Scan Backward using _hyper_2_71_chunk_aggregate_event_seating_quantitative_summa_ev on _hyper_2_71_chunk aesqsc1_40 (cost=0.15..14.88 rows=1 width=20) (actual time=0.014..0.014 rows=1 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
51. 3.600 3.600 ↑ 1.0 1 900

Index Scan using event_pkey on event e1 (cost=0.43..2.40 rows=1 width=8) (actual time=0.004..0.004 rows=1 loops=900)

  • Index Cond: (id = aesqsc1.event_id)
52. 2.700 2.700 ↑ 1.0 1 900

Index Scan using venue_pkey on venue v1 (cost=0.28..0.30 rows=1 width=12) (actual time=0.003..0.003 rows=1 loops=900)

  • Index Cond: (id = e1.venue_id)
53. 1.800 1.800 ↑ 1.0 1 900

Index Only Scan using cinema_pkey on cinema c1 (cost=0.27..0.30 rows=1 width=4) (actual time=0.002..0.002 rows=1 loops=900)

  • Index Cond: (id = v1.cinema_id)
  • Heap Fetches: 900
54. 1.800 1.800 ↑ 1.0 1 900

Index Scan using locality_pkey on locality l1 (cost=0.28..0.32 rows=1 width=8) (actual time=0.002..0.002 rows=1 loops=900)

  • Index Cond: (id = v1.locality_id)
55. 1.800 1.800 ↑ 1.0 1 900

Index Scan using google_place_pkey on google_place gp1 (cost=0.29..0.54 rows=1 width=8) (actual time=0.002..0.002 rows=1 loops=900)

  • Index Cond: (id = l1.google_place_id)
56. 0.900 0.900 ↑ 1.0 1 900

Index Only Scan using country_pkey on country c2 (cost=0.14..0.16 rows=1 width=4) (actual time=0.001..0.001 rows=1 loops=900)

  • Index Cond: (id = gp1.country_id)
  • Heap Fetches: 900
57. 0.900 451.800 ↑ 1.0 1 900

Limit (cost=0.43..4.92 rows=1 width=8) (actual time=0.502..0.502 rows=1 loops=900)

58. 450.900 450.900 ↑ 78.0 1 900

Index Only Scan using locality_weather_measurement_locality_id_time_idx on locality_weather_measurement lwm1 (cost=0.43..350.71 rows=78 width=8) (actual time=0.501..0.501 rows=1 loops=900)

  • Index Cond: (locality_id = l1.id)
  • Filter: ((aesqsc1.created_at >= (measurement_time - '00:15:00'::interval)) AND (aesqsc1.created_at <= (measurement_time + '00:15:00'::interval)))
  • Rows Removed by Filter: 1472
  • Heap Fetches: 348871