explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 6Pyy

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

Hash Join (cost=357,039.74..902,192.69 rows=5,578 width=8,814) (actual rows= loops=)

  • Hash Cond: ((l3.machine_id)::text = (m5.id)::text)
2. 0.000 0.000 ↓ 0.0

Hash Join (cost=357,037.62..902,146.79 rows=5,578 width=8,641) (actual rows= loops=)

  • Hash Cond: ((l1.machine_id)::text = (e6.id)::text)
3. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=357,034.49..902,127.78 rows=5,578 width=8,623) (actual rows= loops=)

  • Hash Cond: (l4.id = l14.id)
4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=357,024.27..902,102.91 rows=5,578 width=7,993) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=357,023.84..861,906.50 rows=5,578 width=7,921) (actual rows= loops=)

  • Join Filter: (l1.id = l8.lot_exposure_step_id)
6. 0.000 0.000 ↓ 0.0

Parallel Hash Join (cost=357,023.41..821,815.04 rows=5,580 width=7,853) (actual rows= loops=)

  • Hash Cond: (l1.lot_step_id = l2.id)
7. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=304,132.11..768,754.46 rows=64,487 width=7,833) (actual rows= loops=)

  • Merge Cond: (l4.id = l11.id)
8. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=304,118.78..768,579.50 rows=64,487 width=7,353) (actual rows= loops=)

  • Merge Cond: (l4.id = l13.id)
9. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=304,104.46..768,403.45 rows=64,487 width=7,113) (actual rows= loops=)

  • Merge Cond: (l4.id = l12.id)
10. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=304,090.14..768,227.40 rows=64,487 width=6,993) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=304,089.70..304,412.15 rows=64,487 width=3,333) (actual rows= loops=)

  • Merge Cond: (l4.id = l9.id)
12. 0.000 0.000 ↓ 0.0

Sort (cost=304,077.03..304,238.25 rows=64,487 width=3,253) (actual rows= loops=)

  • Sort Key: l4.id
13. 0.000 0.000 ↓ 0.0

Parallel Hash Join (cost=194,150.90..298,925.58 rows=64,487 width=3,253) (actual rows= loops=)

  • Hash Cond: (l3.id = l4.lot_metrology_step_id)
14. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on lot_metrology_step l3 (cost=0.00..101,369.35 rows=836,435 width=549) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=193,344.81..193,344.81 rows=64,487 width=2,710) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Parallel Hash Join (cost=103,886.97..193,344.81 rows=64,487 width=2,710) (actual rows= loops=)

  • Hash Cond: (l4.lot_exposure_step_id = l1.id)
17. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on lot_kpi_mapping l4 (cost=0.00..82,872.03 rows=2,508,875 width=24) (actual rows= loops=)

  • Filter: ((aggregation_level)::text = ANY ('{LOT,CHUCK1,CHUCK2}'::text[]))
18. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=103,618.20..103,618.20 rows=21,502 width=2,686) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on lot_exposure_step l1 (cost=0.00..103,618.20 rows=21,502 width=2,686) (actual rows= loops=)

  • Filter: ((lot_start >= to_timestamp('2018-01-01 00:00:00'::text, 'YYYY-MM-DD HH24:MI:SS.FF'::text)) AND (lot_start <= to_timestamp('2018-01-08 23:59:00'::text, 'YYYY-MM-DD HH24:MI:SS.FF'::text)))
20. 0.000 0.000 ↓ 0.0

Sort (cost=12.37..12.52 rows=60 width=86) (actual rows= loops=)

  • Sort Key: l9.id
21. 0.000 0.000 ↓ 0.0

Seq Scan on lot_exposure_reticle_kpis l9 (cost=0.00..10.60 rows=60 width=86) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Index Scan using idx_lotexpalgkpi_id on lot_exposure_alignment_kpis l10 (cost=0.43..7.18 rows=1 width=3,666) (actual rows= loops=)

  • Index Cond: (l4.id = id)
23. 0.000 0.000 ↓ 0.0

Sort (cost=14.32..14.57 rows=100 width=140) (actual rows= loops=)

  • Sort Key: l12.id
24. 0.000 0.000 ↓ 0.0

Seq Scan on lot_ovl_cpe_correction_kpis l12 (cost=0.00..11.00 rows=100 width=140) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Sort (cost=14.32..14.57 rows=100 width=260) (actual rows= loops=)

  • Sort Key: l13.id
26. 0.000 0.000 ↓ 0.0

Seq Scan on lot_ovl_sbc_correction_kpis l13 (cost=0.00..11.00 rows=100 width=260) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Sort (cost=13.33..13.53 rows=80 width=500) (actual rows= loops=)

  • Sort Key: l11.id
28. 0.000 0.000 ↓ 0.0

Seq Scan on lot_ovl_apc_correction_kpis l11 (cost=0.00..10.80 rows=80 width=500) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=51,987.76..51,987.76 rows=72,283 width=26) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on lot_step l2 (cost=0.00..51,987.76 rows=72,283 width=26) (actual rows= loops=)

  • Filter: ((month_of_year >= '1'::numeric) AND (month_of_year <= '1'::numeric))
31. 0.000 0.000 ↓ 0.0

Index Scan using idx_lotexpdocs_lesi on lot_exposure_documents l8 (cost=0.43..7.17 rows=1 width=80) (actual rows= loops=)

  • Index Cond: (lot_exposure_step_id = l4.lot_exposure_step_id)
32. 0.000 0.000 ↓ 0.0

Index Scan using idx_lotmetovlkpi_id on lot_metrology_overlay_kpis l7 (cost=0.43..7.20 rows=1 width=78) (actual rows= loops=)

  • Index Cond: (id = l4.id)
33. 0.000 0.000 ↓ 0.0

Hash (cost=10.10..10.10 rows=10 width=650) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Seq Scan on lot_ovl_apc_parameter_kpis l14 (cost=0.00..10.10 rows=10 width=650) (actual rows= loops=)

35. 0.000 0.000 ↓ 0.0

Hash (cost=2.50..2.50 rows=50 width=18) (actual rows= loops=)

36. 0.000 0.000 ↓ 0.0

Seq Scan on exposure_machine e6 (cost=0.00..2.50 rows=50 width=18) (actual rows= loops=)

37. 0.000 0.000 ↓ 0.0

Hash (cost=1.50..1.50 rows=50 width=18) (actual rows= loops=)

38. 0.000 0.000 ↓ 0.0

Seq Scan on metrology_machine m5 (cost=0.00..1.50 rows=50 width=18) (actual rows= loops=)