explain.depesz.com

PostgreSQL's explain analyze made readable

Result: iaih

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

Unique (cost=2,764.23..2,764.39 rows=2 width=143) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=2,764.23..2,764.23 rows=2 width=143) (actual rows= loops=)

  • Sort Key: geruest3_.geruest, walzensatz2_.mittlererdurchmesser, walzensatz2_.nr, kalibergru1_.gruppe, geruest3_.bez, kaliberbez10_.bezeichnung, kalibergru1_.laufleistungist, kalibergru5_.vglaufleistungsollguss, kalibergru5_.vglaufleistungsollhguss, kalibergru5_.vglaufleistungsollvguss, kalibergru5_.vglaufleistungsollhss, kalibergru5_.vglaufleistungsolltss, kalibergru5_.vglaufleistungsollhm, kalibergru5_.fglaufleistungsollguss, kalibergru5_.fglaufleistungsollhguss, kalibergru5_.fglaufleistungsollvguss, kalibergru5_.fglaufleistungsollhss, kalibergru5_.fglaufleistungsolltss, kalibergru5_.fglaufleistungsollhm, kalibergru5_.paar, produkt8_.kaltmass, walze11_.fachnr, walzensatz2_.anstrasse, schrottgru13_.haerteguete, geruest3_.id, walzensatz2_.id, kalibergru1_.status, kaliberbez6_.sprung, bearbeitun14_.istdurchmesser, walze11_.bestobjekt, walze11_.lieferdurchmesser
3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=399.47..2,764.22 rows=2 width=143) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=399.19..2,762.89 rows=4 width=142) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=398.91..2,761.57 rows=4 width=145) (actual rows= loops=)

  • Join Filter: (gerueste18_.walzenzeichnung = walzenzeic0_.id)
6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=398.63..2,757.63 rows=12 width=159) (actual rows= loops=)

  • Join Filter: (kalibergru1_.kalibergruppe = kalibergru5_.id)
7. 0.000 0.000 ↓ 0.0

Hash Join (cost=398.35..2,751.46 rows=12 width=113) (actual rows= loops=)

  • Hash Cond: ((walzehisto4_.walzenzeichnung = gerueste18_.walzenzeichnung) AND (geruest19_.id = gerueste18_.geruest))
8. 0.000 0.000 ↓ 0.0

Hash Join (cost=302.85..2,621.92 rows=969 width=120) (actual rows= loops=)

  • Hash Cond: (geruest3_.id = geruest19_.id)
9. 0.000 0.000 ↓ 0.0

Hash Join (cost=298.39..2,604.14 rows=969 width=113) (actual rows= loops=)

  • Hash Cond: (zuordnungs7_.geruest = geruest3_.id)
10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=293.31..2,585.16 rows=1,124 width=99) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Nested Loop (cost=293.02..2,517.86 rows=28 width=99) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Nested Loop (cost=292.74..2,508.66 rows=28 width=85) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Nested Loop (cost=292.46..2,402.99 rows=28 width=72) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Nested Loop (cost=292.31..2,398.10 rows=28 width=74) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Nested Loop (cost=292.03..2,354.63 rows=95 width=63) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Nested Loop (cost=291.60..1,822.31 rows=95 width=65) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Hash Join (cost=291.17..1,098.85 rows=40 width=50) (actual rows= loops=)

  • Hash Cond: (kalibergru1_.walzensatz = walzensatz2_.id)
18. 0.000 0.000 ↓ 0.0

Seq Scan on kalibergruppews kalibergru1_ (cost=0.00..805.77 rows=401 width=22) (actual rows= loops=)

  • Filter: (((freigabe)::text = 'F'::text) AND (((status)::text = '-'::text) OR ((status)::text = 'A'::text) OR ((status)::text = 'E'::text) OR ((status)::text = 'G'::text) OR ((status)::text = '-'::text)))
19. 0.000 0.000 ↓ 0.0

Hash (cost=278.83..278.83 rows=987 width=28) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Seq Scan on walzensatz walzensatz2_ (cost=0.00..278.83 rows=987 width=28) (actual rows= loops=)

  • Filter: (((anstrasse)::text <> 'N'::text) AND ((nr)::text ~~ '%'::text) AND ((gruppe)::text = ''::text))
21. 0.000 0.000 ↓ 0.0

Index Scan using wh_walzensatz_aktuell on walzehistorie walzehisto4_ (cost=0.43..18.04 rows=5 width=27) (actual rows= loops=)

  • Index Cond: ((walzensatz = walzensatz2_.id) AND ((aktuell)::text = 'T'::text))
22. 0.000 0.000 ↓ 0.0

Index Scan using bearbeitungsschritt_pkey on bearbeitungsschritt bearbeitun14_ (cost=0.43..5.59 rows=1 width=11) (actual rows= loops=)

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

Index Scan using walze_id_einbauseite_uw on walze walze11_ (cost=0.28..0.45 rows=1 width=25) (actual rows= loops=)

  • Index Cond: (id = walzehisto4_.walze)
24. 0.000 0.000 ↓ 0.0

Index Scan using schrottgruppe_pkey on schrottgruppe schrottgru13_ (cost=0.14..0.16 rows=1 width=10) (actual rows= loops=)

  • Index Cond: (id = walze11_.schrottgruppe)
25. 0.000 0.000 ↓ 0.0

Index Scan using kalibergruppe_pkey on kalibergruppe kalibergru9_ (cost=0.29..3.76 rows=1 width=13) (actual rows= loops=)

  • Index Cond: (id = kalibergru1_.kalibergruppe)
26. 0.000 0.000 ↓ 0.0

Index Scan using kaliberbezeichnung_pkey on kaliberbezeichnung kaliberbez10_ (cost=0.28..0.32 rows=1 width=14) (actual rows= loops=)

  • Index Cond: (id = kalibergru9_.kaliberbezeichnung)
27. 0.000 0.000 ↓ 0.0

Index Scan using i106_idx on zuordnungsmatrix zuordnungs7_ (cost=0.29..1.76 rows=64 width=21) (actual rows= loops=)

  • Index Cond: (kaliberbezeichnung = kalibergru9_.kaliberbezeichnung)
28. 0.000 0.000 ↓ 0.0

Hash (cost=3.91..3.91 rows=94 width=14) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Seq Scan on geruest geruest3_ (cost=0.00..3.91 rows=94 width=14) (actual rows= loops=)

  • Filter: ((geruest >= 0) AND (geruest <= 99) AND ((unterdrueckt)::text = 'N'::text))
30. 0.000 0.000 ↓ 0.0

Hash (cost=3.09..3.09 rows=109 width=7) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

Seq Scan on geruest geruest19_ (cost=0.00..3.09 rows=109 width=7) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Hash (cost=48.40..48.40 rows=3,140 width=14) (actual rows= loops=)

33. 0.000 0.000 ↓ 0.0

Seq Scan on geruest_walzenzeichnung gerueste18_ (cost=0.00..48.40 rows=3,140 width=14) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Index Scan using kalibergruppe_pkey on kalibergruppe kalibergru5_ (cost=0.29..0.50 rows=1 width=65) (actual rows= loops=)

  • Index Cond: (id = kalibergru9_.id)
35. 0.000 0.000 ↓ 0.0

Index Scan using walzenzeichnung_pkey on walzenzeichnung walzenzeic0_ (cost=0.28..0.32 rows=1 width=7) (actual rows= loops=)

  • Index Cond: (id = walzehisto4_.walzenzeichnung)
  • Filter: ((str)::text = '32'::text)
36. 0.000 0.000 ↓ 0.0

Index Scan using kaliberbezeichnung_pkey on kaliberbezeichnung kaliberbez6_ (cost=0.28..0.32 rows=1 width=11) (actual rows= loops=)

  • Index Cond: (id = kalibergru5_.kaliberbezeichnung)
37. 0.000 0.000 ↓ 0.0

Index Scan using produkt_pkey on produkt produkt8_ (cost=0.28..0.32 rows=1 width=15) (actual rows= loops=)

  • Index Cond: (id = zuordnungs7_.produkt)
  • Filter: (((produktgruppe)::text ~~ '%'::text) AND ((anstich)::text ~~ '%'::text) AND ((kaltmass)::text ~~ '%'::text) AND (nr >= 0) AND (nr <= 9999) AND ((str)::text = '32'::text) AND (((abmavon >= 0.0) AND (abmavon <= 999.0)) OR ((abmabis > 0.0) AND (abmabis < 999.0))))