explain.depesz.com

PostgreSQL's explain analyze made readable

Result: B9Gh

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

XN Hash Join DS_DIST_ALL_NONE (cost=8,438.71..450,202,295,798.67 rows=4 width=144) (actual rows= loops=)

  • Hash Cond: ((("outer".id)::text = ("inner".aeic)::text) AND ("outer".kpi_id = "inner".kpi_id) AND (("outer"."month")::text = to_char(("inner".fact_dt)::timestamp without time zone, 'MM'::text)) AND (("outer"."year")::double precision = pgdate_part('year'::text, ("inner".fact_dt)::timestamp without time zone)) AND ("outer".fact_id = "inner".fact_id))
  • Join Filter: (("inner".from_ts <= "outer".tag_timestamp_utc) AND ("inner".to_ts > "outer".tag_timestamp_utc) AND ("inner".to_ts < "outer".mapping_end) AND ("inner".from_ts >= "outer".mapping_start))
  • Remarks: Derives subplan 5
2. 0.000 0.000 ↓ 0.0

XN Hash Join DS_BCAST_INNER (cost=5,413.18..450,200,768,262.85 rows=12,444,931 width=176) (actual rows= loops=)

  • Hash Cond: ((("outer".tag_name)::text = ("inner".tag_name)::text) AND (("outer"."datasource")::text = ("inner"."datasource")::text))
  • Remarks: Derives subplan 4
3. 0.000 0.000 ↓ 0.0

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

4. 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=)

  • Filter: ((subplan 4: (($2)::text = ("datasource")::text)) AND (subplan 5: (("month")::text = to_char(($12)::timestamp without time zone, 'MM'::text)) AND (("year")::double precision = pgdate_part('year'::text, ($12)::timestamp without time zone))))
5. 0.000 0.000 ↓ 0.0

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

6. 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..100,000,000.00 rows=10,000,000,000 width=244) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

XN Hash (cost=5,413.18..5,413.18 rows=1 width=65) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

XN Hash Join DS_DIST_ALL_NONE (cost=5,408.79..5,413.18 rows=1 width=65) (actual rows= loops=)

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

XN Seq Scan on dim_kpi_v2 k (cost=0.00..0.15 rows=1 width=26) (actual rows= loops=)

  • Filter: ((kpi_id = 12) AND (fact_id = 7))
10. 0.000 0.000 ↓ 0.0

XN Hash (cost=5,407.74..5,407.74 rows=422 width=74) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

XN Seq Scan on pdc_gpn_map g (cost=0.00..5,407.74 rows=422 width=74) (actual rows= loops=)

  • Filter: ('000710'::text = (id)::text)
12. 0.000 0.000 ↓ 0.0

XN Hash (cost=3,025.51..3,025.51 rows=1 width=38) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

XN Seq Scan on asset_missing_series s (cost=0.00..3,025.51 rows=1 width=38) (actual rows= loops=)

  • Filter: ((kpi_id = 12) AND ((aeic)::text = '000710'::text) AND (fact_dt = '2018-01-01'::date) AND (fact_id = 7))