explain.depesz.com

PostgreSQL's explain analyze made readable

Result: PH5J

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

XN Hash Join DS_BCAST_INNER (cost=7.65..773,348,637,062.06 rows=48,136 width=308) (actual rows= loops=)

  • Hash Cond: ((("outer".id)::text = ("inner".aeic)::text) AND (("outer"."month")::text = to_char(date_trunc('day'::text, date_add('min'::text, -10::bigint, "inner".fact_timestamp)), 'MM'::text)) AND (("outer"."year")::double precision = pgdate_part('year'::text, date_trunc('day'::text, date_add('min'::text, -10::bigint, "inner".fact_timestamp)))))
  • Join Filter: (("outer".mapping_start_utc_ts <= date_trunc('day'::text, date_add('min'::text, -10::bigint, "inner".fact_timestamp))) AND ("outer".mapping_end_utc_ts >= date_add('min'::text, 30::bigint, "inner".fact_timestamp)) AND (date_trunc('day'::text, date_add('min'::text, -10::bigint, "inner".fact_timestamp)) <= "outer".tag_timestamp_utc) AND (date_add('min'::text, 30::bigint, "inner".fact_timestamp) > "outer".tag_timestamp_utc))
2. 0.000 0.000 ↓ 0.0

XN Hash Join DS_BCAST_INNER (cost=4.39..772,730,900,014.39 rows=5,245,420,435 width=269) (actual rows= loops=)

  • Hash Cond: ((("outer".tag_name)::text = ("inner".customername)::text) AND (("outer"."datasource")::text = ("inner"."datasource")::text))
3. 0.000 0.000 ↓ 0.0

XN Hash Left Join DS_DIST_ALL_NONE (cost=1.81..522,725,000,011.81 rows=10,000,000,000,000 width=344) (actual rows= loops=)

  • Hash Cond: (checksum("outer".unitofmeasure) = "inner".uom_id)
4. 0.000 0.000 ↓ 0.0

XN Partition Loop (cost=0.00..225,225,000,010.00 rows=10,000,000,000,000 width=319) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

XN Seq Scan PartitionInfo of ida_eap_prd_tbl_hist.pdc_snsr_wts wts (cost=0.00..10.00 rows=1,000 width=75) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

XN S3 Query Scan wts (cost=0.00..225,000,000.00 rows=10,000,000,000 width=244) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

S3 Seq Scan ida_eap_prd_tbl_hist.pdc_snsr_wts wts location:"s3://den-prd-fra-mosaic-archive/ORC/wts" format:ORC_FILE (cost=0.00..125,000,000.00 rows=10,000,000,000 width=244) (actual rows= loops=)

  • Filter: (status = true)
8. 0.000 0.000 ↓ 0.0

XN Hash (cost=1.45..1.45 rows=145 width=29) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

XN Seq Scan on uom_cnvs_map uom (cost=0.00..1.45 rows=145 width=29) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

XN Hash (cost=2.58..2.58 rows=1 width=330) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

XN Hash Join DS_DIST_ALL_NONE (cost=1.67..2.58 rows=1 width=330) (actual rows= loops=)

  • Hash Cond: (("outer".elms_gpn_name)::text = ("inner".kpi_name)::text)
12. 0.000 0.000 ↓ 0.0

XN Seq Scan on elms_snsr_gpn_map_v2 gpn (cost=0.00..0.88 rows=1 width=421) (actual rows= loops=)

  • Filter: ((isannotation)::text = 'N'::text)
13. 0.000 0.000 ↓ 0.0

XN Hash (cost=1.39..1.39 rows=112 width=23) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

XN Seq Scan on dim_kpi_v2 k (cost=0.00..1.39 rows=112 width=23) (actual rows= loops=)

  • Filter: (fact_id = 14)
15. 0.000 0.000 ↓ 0.0

XN Hash (cost=3.25..3.25 rows=1 width=130) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

XN Seq Scan on fact_event (cost=0.00..3.25 rows=1 width=130) (actual rows= loops=)

  • Filter: (event_key = 25505)