explain.depesz.com

PostgreSQL's explain analyze made readable

Result: jDl3

Settings
# exclusive inclusive rows x rows loops node
1. 0.287 260.744 ↑ 27.2 760 1

Unique (cost=1,568,111.45..1,568,421.25 rows=20,653 width=210) (actual time=260.414..260.744 rows=760 loops=1)

2. 0.404 260.457 ↑ 27.2 760 1

Sort (cost=1,568,111.45..1,568,163.08 rows=20,653 width=210) (actual time=260.413..260.457 rows=760 loops=1)

  • Sort Key: equipment_event.equipment_id, ((equipment_event.context_custom -> 'threshold_low'::text)), ((equipment_event.context_custom -> 'threshold_check'::text)), ((equipment_event.context_custom -> 'duration'::text)), (COALESCE(sum(primary_data.utilization_time), '0'::bigint))
  • Sort Method: quicksort Memory: 226kB
3. 22.741 260.053 ↑ 27.2 760 1

HashAggregate (cost=1,566,269.82..1,566,631.24 rows=20,653 width=210) (actual time=259.263..260.053 rows=760 loops=1)

  • Group Key: equipment_event.equipment_id, equipment_event.context_custom
4. 4.615 237.312 ↑ 7.6 20,646 1

Hash Right Join (cost=1,270.29..1,565,099.01 rows=156,107 width=110) (actual time=6.386..237.312 rows=20,646 loops=1)

  • Hash Cond: (primary_data.equipment_id = equipment_event.equipment_id)
5. 5.278 227.371 ↑ 204.8 20,239 1

Nested Loop (cost=93.95..1,546,821.35 rows=4,144,066 width=8) (actual time=1.055..227.371 rows=20,239 loops=1)

6. 3.232 6.253 ↑ 1.0 760 1

Hash Join (cost=93.95..1,198.18 rows=778 width=110) (actual time=0.583..6.253 rows=760 loops=1)

  • Hash Cond: (equipment_event_1.equipment_id = facility_equipment.equipment_id)
7. 2.510 2.510 ↓ 1.1 22,299 1

Seq Scan on equipment_event equipment_event_1 (cost=0.00..1,019.53 rows=20,653 width=106) (actual time=0.006..2.510 rows=22,299 loops=1)

8. 0.082 0.511 ↑ 1.0 760 1

Hash (cost=84.22..84.22 rows=778 width=4) (actual time=0.511..0.511 rows=760 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 35kB
9. 0.242 0.429 ↑ 1.0 760 1

HashAggregate (cost=76.44..84.22 rows=778 width=4) (actual time=0.341..0.429 rows=760 loops=1)

  • Group Key: facility_equipment.equipment_id
10. 0.187 0.187 ↑ 1.0 760 1

Index Only Scan using facility_equipment_pkey on facility_equipment (cost=0.29..74.50 rows=778 width=4) (actual time=0.008..0.187 rows=760 loops=1)

  • Index Cond: (facility_id = ANY ('{19,25,26,27,29,30,31,32,33,85}'::integer[]))
  • Heap Fetches: 344
11. 69.160 215.840 ↑ 116.6 27 760

Append (cost=0.00..1,955.18 rows=3,148 width=16) (actual time=0.252..0.284 rows=27 loops=760)

12. 0.000 0.000 ↓ 0.0 0 760

Seq Scan on primary_data (cost=0.00..0.00 rows=1 width=16) (actual time=0.000..0.000 rows=0 loops=760)

  • Filter: ((equipment_event_1.equipment_id = equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
13. 2.280 2.280 ↓ 0.0 0 760

Index Scan using _hyper_3_293_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_293_chunk (cost=0.32..4.38 rows=5 width=16) (actual time=0.003..0.003 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
14. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_294_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_294_chunk (cost=0.32..4.36 rows=5 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
15. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_295_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_295_chunk (cost=0.32..6.22 rows=8 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
16. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_296_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_296_chunk (cost=0.32..3.63 rows=4 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
17. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_305_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_305_chunk (cost=0.30..6.19 rows=13 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
18. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_307_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_307_chunk (cost=0.31..14.11 rows=24 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
19. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_309_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_309_chunk (cost=0.31..11.78 rows=18 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
20. 0.760 0.760 ↓ 0.0 0 760

Index Scan using _hyper_3_311_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_311_chunk (cost=0.17..1.83 rows=2 width=16) (actual time=0.001..0.001 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
21. 2.280 2.280 ↓ 0.0 0 760

Index Scan using _hyper_3_313_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_313_chunk (cost=0.45..23.41 rows=33 width=16) (actual time=0.003..0.003 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
22. 2.280 2.280 ↓ 0.0 0 760

Index Scan using _hyper_3_318_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_318_chunk (cost=0.45..23.49 rows=33 width=16) (actual time=0.003..0.003 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
23. 2.280 2.280 ↓ 0.0 0 760

Index Scan using _hyper_3_319_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_319_chunk (cost=0.45..22.78 rows=32 width=16) (actual time=0.003..0.003 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
24. 2.280 2.280 ↓ 0.0 0 760

Index Scan using _hyper_3_320_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_320_chunk (cost=0.45..23.49 rows=33 width=16) (actual time=0.003..0.003 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
25. 0.760 0.760 ↓ 0.0 0 760

Index Scan using _hyper_3_325_chunk_primary_data_data_datetime_idx on _hyper_3_325_chunk (cost=0.17..2.85 rows=13 width=16) (actual time=0.001..0.001 rows=0 loops=760)

  • Index Cond: ((data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
  • Filter: (equipment_event_1.equipment_id = equipment_id)
26. 0.760 0.760 ↓ 0.0 0 760

Index Scan using _hyper_3_326_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_326_chunk (cost=0.17..1.30 rows=1 width=16) (actual time=0.001..0.001 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
27. 0.760 0.760 ↓ 0.0 0 760

Index Scan using _hyper_3_330_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_330_chunk (cost=0.17..1.30 rows=1 width=16) (actual time=0.001..0.001 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
28. 0.760 0.760 ↓ 0.0 0 760

Index Scan using _hyper_3_332_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_332_chunk (cost=0.17..4.14 rows=7 width=16) (actual time=0.001..0.001 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
29. 2.280 2.280 ↓ 0.0 0 760

Index Scan using _hyper_3_338_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_338_chunk (cost=0.46..41.09 rows=58 width=16) (actual time=0.003..0.003 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
30. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_339_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_339_chunk (cost=0.46..41.10 rows=58 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
31. 2.280 2.280 ↓ 0.0 0 760

Index Scan using _hyper_3_340_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_340_chunk (cost=0.46..41.80 rows=59 width=16) (actual time=0.003..0.003 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
32. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_341_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_341_chunk (cost=0.46..41.79 rows=59 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
33. 0.760 0.760 ↓ 0.0 0 760

Index Scan using _hyper_3_346_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_346_chunk (cost=0.17..1.30 rows=1 width=16) (actual time=0.001..0.001 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
34. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_348_chunk_primary_data_data_datetime_idx on _hyper_3_348_chunk (cost=0.30..4.35 rows=33 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
  • Filter: (equipment_event_1.equipment_id = equipment_id)
35. 0.760 0.760 ↓ 0.0 0 760

Index Scan using _hyper_3_350_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_350_chunk (cost=0.17..1.30 rows=1 width=16) (actual time=0.001..0.001 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
36. 0.760 0.760 ↓ 0.0 0 760

Index Scan using _hyper_3_355_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_355_chunk (cost=0.17..1.30 rows=1 width=16) (actual time=0.001..0.001 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
37. 0.760 0.760 ↓ 0.0 0 760

Index Scan using _hyper_3_356_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_356_chunk (cost=0.17..1.30 rows=1 width=16) (actual time=0.001..0.001 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
38. 2.280 2.280 ↓ 0.0 0 760

Index Scan using _hyper_3_368_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_368_chunk (cost=0.46..48.08 rows=68 width=16) (actual time=0.003..0.003 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
39. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_369_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_369_chunk (cost=0.46..48.08 rows=68 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
40. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_370_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_370_chunk (cost=0.46..47.36 rows=67 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
41. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_371_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_371_chunk (cost=0.46..48.05 rows=68 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
42. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_372_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_372_chunk (cost=0.31..51.98 rows=86 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
43. 0.760 0.760 ↓ 0.0 0 760

Index Scan using _hyper_3_374_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_374_chunk (cost=0.17..1.30 rows=1 width=16) (actual time=0.001..0.001 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
44. 2.280 2.280 ↓ 0.0 0 760

Index Scan using _hyper_3_394_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_394_chunk (cost=0.46..53.60 rows=76 width=16) (actual time=0.003..0.003 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
45. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_395_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_395_chunk (cost=0.46..53.61 rows=76 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
46. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_396_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_396_chunk (cost=0.46..53.62 rows=76 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
47. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_397_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_397_chunk (cost=0.46..53.63 rows=76 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
48. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_398_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_398_chunk (cost=0.31..24.81 rows=75 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
49. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_400_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_400_chunk (cost=0.31..29.46 rows=89 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
50. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_402_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_402_chunk (cost=0.30..12.48 rows=36 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
51. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_407_chunk_primary_data_data_datetime_idx on _hyper_3_407_chunk (cost=0.30..4.41 rows=53 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
  • Filter: (equipment_event_1.equipment_id = equipment_id)
52. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_413_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_413_chunk (cost=0.46..57.05 rows=84 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
53. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_414_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_414_chunk (cost=0.46..58.23 rows=92 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
54. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_415_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_415_chunk (cost=0.46..60.81 rows=103 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
55. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_420_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_420_chunk (cost=0.46..56.45 rows=80 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
56. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_425_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_425_chunk (cost=0.31..53.70 rows=90 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
57. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_428_chunk_primary_data_data_datetime_idx on _hyper_3_428_chunk (cost=0.30..7.81 rows=45 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
  • Filter: (equipment_event_1.equipment_id = equipment_id)
58. 0.760 0.760 ↓ 0.0 0 760

Index Scan using _hyper_3_430_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_430_chunk (cost=0.17..1.30 rows=1 width=16) (actual time=0.001..0.001 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
59. 2.280 2.280 ↓ 0.0 0 760

Index Scan using _hyper_3_435_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_435_chunk (cost=0.46..69.33 rows=130 width=16) (actual time=0.003..0.003 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
60. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_436_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_436_chunk (cost=0.46..65.31 rows=110 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
61. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_437_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_437_chunk (cost=0.46..63.55 rows=107 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
62. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_438_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_438_chunk (cost=0.46..60.86 rows=89 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
63. 7.600 7.600 ↑ 10.4 7 760

Index Scan using _hyper_3_447_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_447_chunk (cost=0.46..51.70 rows=73 width=16) (actual time=0.005..0.010 rows=7 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
64. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_450_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_450_chunk (cost=0.31..21.45 rows=30 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
65. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_451_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_451_chunk (cost=0.31..21.38 rows=30 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
66. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_452_chunk_primary_data_data_datetime_idx on _hyper_3_452_chunk (cost=0.31..18.28 rows=30 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
  • Filter: (equipment_event_1.equipment_id = equipment_id)
67. 1.520 1.520 ↓ 0.0 0 760

Index Scan using _hyper_3_453_chunk_primary_data_data_datetime_idx on _hyper_3_453_chunk (cost=0.31..19.49 rows=30 width=16) (actual time=0.002..0.002 rows=0 loops=760)

  • Index Cond: ((data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
  • Filter: (equipment_event_1.equipment_id = equipment_id)
68. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_462_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_462_chunk (cost=0.46..58.45 rows=83 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
69. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_463_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_463_chunk (cost=0.46..61.07 rows=90 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
70. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_464_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_464_chunk (cost=0.46..65.00 rows=108 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
71. 3.040 3.040 ↓ 0.0 0 760

Index Scan using _hyper_3_465_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_465_chunk (cost=0.46..63.74 rows=100 width=16) (actual time=0.004..0.004 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
72. 8.360 8.360 ↑ 9.2 8 760

Index Scan using _hyper_3_478_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_478_chunk (cost=0.46..52.40 rows=74 width=16) (actual time=0.005..0.011 rows=8 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
73. 6.840 6.840 ↑ 12.7 6 760

Index Scan using _hyper_3_479_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_479_chunk (cost=0.46..53.77 rows=76 width=16) (actual time=0.004..0.009 rows=6 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
74. 6.840 6.840 ↑ 14.6 5 760

Index Scan using _hyper_3_480_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_480_chunk (cost=0.46..51.71 rows=73 width=16) (actual time=0.004..0.009 rows=5 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
75. 0.760 0.760 ↓ 0.0 0 760

Index Scan using _hyper_3_491_chunk_primary_data_equipment_id_data_datetime_idx on _hyper_3_491_chunk (cost=0.17..1.30 rows=1 width=16) (actual time=0.001..0.001 rows=0 loops=760)

  • Index Cond: ((equipment_id = equipment_event_1.equipment_id) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))) AND (data_datetime > (now() - make_interval(0, 0, 0, 0, 0, 0, ((equipment_event_1.context_custom ->> 'duration'::text))::double precision))))
76. 0.143 5.326 ↑ 1.0 760 1

Hash (cost=1,166.62..1,166.62 rows=778 width=106) (actual time=5.326..5.326 rows=760 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 113kB
77. 2.378 5.183 ↑ 1.0 760 1

Hash Semi Join (cost=84.22..1,166.62 rows=778 width=106) (actual time=0.446..5.183 rows=760 loops=1)

  • Hash Cond: (equipment_event.equipment_id = facility_equipment_1.equipment_id)
78. 2.448 2.448 ↓ 1.1 22,299 1

Seq Scan on equipment_event (cost=0.00..1,019.53 rows=20,653 width=110) (actual time=0.010..2.448 rows=22,299 loops=1)

79. 0.087 0.357 ↑ 1.0 760 1

Hash (cost=74.50..74.50 rows=778 width=4) (actual time=0.357..0.357 rows=760 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 35kB
80. 0.270 0.270 ↑ 1.0 760 1

Index Only Scan using facility_equipment_pkey on facility_equipment facility_equipment_1 (cost=0.29..74.50 rows=778 width=4) (actual time=0.013..0.270 rows=760 loops=1)

  • Index Cond: (facility_id = ANY ('{19,25,26,27,29,30,31,32,33,85}'::integer[]))
  • Heap Fetches: 344
Planning time : 14.404 ms
Execution time : 262.109 ms