explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 3tFL

Settings
# exclusive inclusive rows x rows loops node
1. 0.140 124,602.414 ↑ 1.0 967 1

Limit (cost=26,444.54..26,446.95 rows=967 width=32) (actual time=124,602.215..124,602.414 rows=967 loops=1)

2. 106.955 124,602.274 ↑ 1.2 967 1

Sort (cost=26,444.54..26,447.43 rows=1,156 width=32) (actual time=124,602.214..124,602.274 rows=967 loops=1)

  • Sort Key: aesqsc1.event_start_time
  • Sort Method: top-N heapsort Memory: 198kB
3. 117.782 124,495.319 ↓ 196.7 227,396 1

Nested Loop Left Join (cost=2.85..26,385.73 rows=1,156 width=32) (actual time=6.743..124,495.319 rows=227,396 loops=1)

4. 160.701 33,191.741 ↓ 196.7 227,396 1

Nested Loop (cost=2.42..20,677.03 rows=1,156 width=32) (actual time=6.516..33,191.741 rows=227,396 loops=1)

5. 283.733 32,803.644 ↓ 196.7 227,396 1

Nested Loop (cost=2.28..20,488.95 rows=1,156 width=32) (actual time=6.509..32,803.644 rows=227,396 loops=1)

6. 88.259 32,292.515 ↓ 196.7 227,396 1

Merge Join (cost=1.99..19,859.80 rows=1,156 width=32) (actual time=6.500..32,292.515 rows=227,396 loops=1)

  • Merge Cond: (v1.locality_id = l1.id)
7. 91.780 32,202.307 ↓ 196.7 227,397 1

Nested Loop (cost=0.98..62,790.60 rows=1,156 width=28) (actual time=6.468..32,202.307 rows=227,397 loops=1)

8. 18,476.973 31,655.733 ↓ 196.7 227,397 1

Nested Loop (cost=0.71..62,445.56 rows=1,156 width=28) (actual time=6.458..31,655.733 rows=227,397 loops=1)

  • Join Filter: (e1.venue_id = v1.id)
  • Rows Removed by Join Filter: 180720422
9. 3.918 3.918 ↑ 2.8 794 1

Index Scan using public_venue_locality_id3_idx on venue v1 (cost=0.28..141.55 rows=2,218 width=12) (actual time=0.008..3.918 rows=794 loops=1)

10. 12,308.061 13,174.842 ↓ 197.1 227,894 794

Materialize (cost=0.43..23,846.78 rows=1,156 width=20) (actual time=0.000..16.593 rows=227,894 loops=794)

11. 205.364 866.781 ↓ 197.4 228,178 1

Nested Loop (cost=0.43..23,841.00 rows=1,156 width=20) (actual time=0.026..866.781 rows=228,178 loops=1)

12. 37.562 205.061 ↓ 197.4 228,178 1

Custom Scan (ConstraintAwareAppend) (cost=0.00..21,068.69 rows=1,156 width=20) (actual time=0.012..205.061 rows=228,178 loops=1)

  • Hypertable: aggregate_event_seating_quantitative_summary_change
  • Chunks left after exclusion: 40
13. 25.329 167.499 ↓ 197.4 228,178 1

Append (cost=0.00..21,068.69 rows=1,156 width=20) (actual time=0.012..167.499 rows=228,178 loops=1)

14. 0.829 0.829 ↓ 200.9 1,607 1

Seq Scan on _hyper_2_4_chunk aesqsc1_1 (cost=0.00..58.88 rows=8 width=20) (actual time=0.011..0.829 rows=1,607 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
15. 7.612 7.612 ↓ 199.0 15,122 1

Seq Scan on _hyper_2_15_chunk aesqsc1_2 (cost=0.00..541.39 rows=76 width=20) (actual time=0.009..7.612 rows=15,122 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
16. 12.693 12.693 ↓ 198.9 24,062 1

Seq Scan on _hyper_2_16_chunk aesqsc1_3 (cost=0.00..827.61 rows=121 width=20) (actual time=0.012..12.693 rows=24,062 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
17. 1.108 1.108 ↓ 209.7 1,887 1

Seq Scan on _hyper_2_20_chunk aesqsc1_4 (cost=0.00..87.80 rows=9 width=20) (actual time=0.014..1.108 rows=1,887 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
18. 1.181 1.181 ↓ 209.3 2,093 1

Seq Scan on _hyper_2_25_chunk aesqsc1_5 (cost=0.00..96.91 rows=10 width=20) (actual time=0.012..1.181 rows=2,093 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
19. 0.747 0.747 ↓ 189.0 1,323 1

Seq Scan on _hyper_2_28_chunk aesqsc1_6 (cost=0.00..57.91 rows=7 width=20) (actual time=0.011..0.747 rows=1,323 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
20. 0.275 0.275 ↓ 236.5 473 1

Seq Scan on _hyper_2_30_chunk aesqsc1_7 (cost=0.00..21.65 rows=2 width=20) (actual time=0.011..0.275 rows=473 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
21. 0.553 0.553 ↓ 165.7 994 1

Seq Scan on _hyper_2_31_chunk aesqsc1_8 (cost=0.00..42.46 rows=6 width=20) (actual time=0.010..0.553 rows=994 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
22. 0.415 0.415 ↓ 198.0 792 1

Seq Scan on _hyper_2_32_chunk aesqsc1_9 (cost=0.00..37.25 rows=4 width=20) (actual time=0.012..0.415 rows=792 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
23. 5.934 5.934 ↓ 198.3 11,301 1

Seq Scan on _hyper_2_34_chunk aesqsc1_10 (cost=0.00..418.76 rows=57 width=20) (actual time=0.011..5.934 rows=11,301 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
24. 0.379 0.379 ↓ 224.7 674 1

Seq Scan on _hyper_2_36_chunk aesqsc1_11 (cost=0.00..32.08 rows=3 width=20) (actual time=0.011..0.379 rows=674 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
25. 0.918 0.918 ↓ 209.7 1,258 1

Seq Scan on _hyper_2_39_chunk aesqsc1_12 (cost=0.00..59.98 rows=6 width=20) (actual time=0.011..0.918 rows=1,258 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
26. 0.163 0.163 ↓ 272.0 272 1

Seq Scan on _hyper_2_42_chunk aesqsc1_13 (cost=0.00..10.74 rows=1 width=20) (actual time=0.012..0.163 rows=272 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
27. 39.210 39.210 ↓ 196.8 74,395 1

Seq Scan on _hyper_2_44_chunk aesqsc1_14 (cost=0.00..2,479.04 rows=378 width=20) (actual time=0.012..39.210 rows=74,395 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
28. 67.022 67.022 ↓ 220.0 86,473 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,808.14 rows=393 width=20) (actual time=0.019..67.022 rows=86,473 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
29. 0.042 0.042 ↓ 63.0 63 1

Seq Scan on _hyper_2_46_chunk aesqsc1_16 (cost=0.00..1.96 rows=1 width=20) (actual time=0.016..0.042 rows=63 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
30. 0.236 0.236 ↓ 231.5 463 1

Seq Scan on _hyper_2_47_chunk aesqsc1_17 (cost=0.00..18.47 rows=2 width=20) (actual time=0.011..0.236 rows=463 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
31. 0.446 0.446 ↓ 230.2 921 1

Seq Scan on _hyper_2_48_chunk aesqsc1_18 (cost=0.00..31.65 rows=4 width=20) (actual time=0.011..0.446 rows=921 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
32. 0.609 0.609 ↓ 189.0 1,134 1

Seq Scan on _hyper_2_49_chunk aesqsc1_19 (cost=0.00..40.45 rows=6 width=20) (actual time=0.012..0.609 rows=1,134 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
33. 0.729 0.729 ↓ 186.1 1,303 1

Seq Scan on _hyper_2_50_chunk aesqsc1_20 (cost=0.00..49.45 rows=7 width=20) (actual time=0.015..0.729 rows=1,303 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
34. 0.170 0.170 ↓ 319.0 319 1

Seq Scan on _hyper_2_51_chunk aesqsc1_21 (cost=0.00..11.25 rows=1 width=20) (actual time=0.013..0.170 rows=319 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
35. 0.289 0.289 ↓ 164.0 492 1

Seq Scan on _hyper_2_52_chunk aesqsc1_22 (cost=0.00..16.84 rows=3 width=20) (actual time=0.031..0.289 rows=492 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
36. 0.024 0.024 ↓ 22.0 22 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.024 rows=22 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
37. 0.222 0.222 ↓ 185.5 371 1

Seq Scan on _hyper_2_54_chunk aesqsc1_24 (cost=0.00..13.86 rows=2 width=20) (actual time=0.012..0.222 rows=371 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
38. 0.031 0.031 ↓ 43.0 43 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.031 rows=43 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
39. 0.017 0.017 ↓ 3.0 3 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.014..0.017 rows=3 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
40. 0.078 0.078 ↓ 132.0 132 1

Seq Scan on _hyper_2_58_chunk aesqsc1_27 (cost=0.00..5.01 rows=1 width=20) (actual time=0.011..0.078 rows=132 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
41. 0.029 0.029 ↓ 9.0 9 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.024..0.029 rows=9 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
42. 0.012 0.012 ↓ 7.0 7 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.007..0.012 rows=7 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
43. 0.023 0.023 ↓ 23.0 23 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.008..0.023 rows=23 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
44. 0.066 0.066 ↓ 105.0 105 1

Seq Scan on _hyper_2_62_chunk aesqsc1_31 (cost=0.00..6.57 rows=1 width=20) (actual time=0.011..0.066 rows=105 loops=1)

  • Filter: ((materialized_at IS NULL) AND (event_start_time > (now() - '01:00:00'::interval)))
45. 0.020 0.020 ↓ 18.0 18 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.010..0.020 rows=18 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
46. 0.011 0.011 ↓ 5.0 5 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.007..0.011 rows=5 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
47. 0.012 0.012 ↓ 4.0 4 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.009..0.012 rows=4 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
48. 0.009 0.009 ↓ 2.0 2 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.007..0.009 rows=2 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
49. 0.011 0.011 ↓ 3.0 3 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.009..0.011 rows=3 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
50. 0.015 0.015 ↓ 3.0 3 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.012..0.015 rows=3 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
51. 0.011 0.011 ↓ 3.0 3 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.008..0.011 rows=3 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
52. 0.009 0.009 ↓ 2.0 2 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.008..0.009 rows=2 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
53. 0.010 0.010 ↓ 2.0 2 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.008..0.010 rows=2 loops=1)

  • Index Cond: (event_start_time > (now() - '01:00:00'::interval))
  • Filter: (materialized_at IS NULL)
54. 456.356 456.356 ↑ 1.0 1 228,178

Index Scan using event_pkey on event e1 (cost=0.43..2.40 rows=1 width=8) (actual time=0.002..0.002 rows=1 loops=228,178)

  • Index Cond: (id = aesqsc1.event_id)
55. 454.794 454.794 ↑ 1.0 1 227,397

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=227,397)

  • Index Cond: (id = v1.cinema_id)
  • Heap Fetches: 227397
56. 1.949 1.949 ↑ 1.0 2,278 1

Index Scan using locality_pkey on locality l1 (cost=0.28..77.45 rows=2,278 width=8) (actual time=0.005..1.949 rows=2,278 loops=1)

57. 227.396 227.396 ↑ 1.0 1 227,396

Index Scan using google_place_pkey on google_place gp1 (cost=0.29..0.54 rows=1 width=8) (actual time=0.001..0.001 rows=1 loops=227,396)

  • Index Cond: (id = l1.google_place_id)
58. 227.396 227.396 ↑ 1.0 1 227,396

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=227,396)

  • Index Cond: (id = gp1.country_id)
  • Heap Fetches: 227396
59. 227.396 91,185.796 ↓ 0.0 0 227,396

Limit (cost=0.43..4.92 rows=1 width=8) (actual time=0.401..0.401 rows=0 loops=227,396)

60. 90,958.400 90,958.400 ↓ 0.0 0 227,396

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.400..0.400 rows=0 loops=227,396)

  • 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: 1447
  • Heap Fetches: 89816005